Skip to content

Commit 708f538

Browse files
authored
feat(amazonq): support import through language server
1 parent 0fa2b26 commit 708f538

File tree

4 files changed

+33
-24
lines changed

4 files changed

+33
-24
lines changed

package-lock.json

Lines changed: 24 additions & 23 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/amazonq/src/app/inline/completion.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import {
2929
ReferenceHoverProvider,
3030
ReferenceInlineProvider,
3131
ReferenceLogViewProvider,
32+
ImportAdderProvider,
3233
} from 'aws-core-vscode/codewhisperer'
3334

3435
export class InlineCompletionManager implements Disposable {
@@ -66,6 +67,7 @@ export class InlineCompletionManager implements Disposable {
6667
item: InlineCompletionItemWithReferences,
6768
editor: TextEditor,
6869
requestStartTime: number,
70+
startLine: number,
6971
firstCompletionDisplayLatency?: number
7072
) => {
7173
// TODO: also log the seen state for other suggestions in session
@@ -96,6 +98,9 @@ export class InlineCompletionManager implements Disposable {
9698
ReferenceLogViewProvider.instance.addReferenceLog(referenceLog)
9799
ReferenceHoverProvider.instance.addCodeReferences(item.insertText as string, item.references)
98100
}
101+
if (item.mostRelevantMissingImports?.length) {
102+
await ImportAdderProvider.instance.onAcceptRecommendation(editor, item, startLine)
103+
}
99104
}
100105
commands.registerCommand('aws.amazonq.acceptInline', onInlineAcceptance)
101106

@@ -200,6 +205,7 @@ export class AmazonQInlineCompletionItemProvider implements InlineCompletionItem
200205
item,
201206
editor,
202207
session.requestStartTime,
208+
position.line,
203209
session.firstCompletionDisplayLatency,
204210
],
205211
}
@@ -208,6 +214,7 @@ export class AmazonQInlineCompletionItemProvider implements InlineCompletionItem
208214
item.insertText as string,
209215
item.references
210216
)
217+
ImportAdderProvider.instance.onShowRecommendation(document, position.line, item)
211218
}
212219
return items as InlineCompletionItem[]
213220
}

packages/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,7 @@
441441
"devDependencies": {
442442
"@aws-sdk/types": "^3.13.1",
443443
"@aws/chat-client-ui-types": "^0.0.8",
444-
"@aws/language-server-runtimes": "^0.2.44",
444+
"@aws/language-server-runtimes": "^0.2.49",
445445
"@cspotcode/source-map-support": "^0.8.1",
446446
"@sinonjs/fake-timers": "^10.0.2",
447447
"@types/adm-zip": "^0.4.34",

packages/core/src/codewhisperer/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ export { RecommendationService } from './service/recommendationService'
7070
export { ClassifierTrigger } from './service/classifierTrigger'
7171
export { DocumentChangedSource, KeyStrokeHandler, DefaultDocumentChangedType } from './service/keyStrokeHandler'
7272
export { ReferenceLogViewProvider } from './service/referenceLogViewProvider'
73+
export { ImportAdderProvider } from './service/importAdderProvider'
7374
export { LicenseUtil } from './util/licenseUtil'
7475
export { SecurityIssueProvider } from './service/securityIssueProvider'
7576
export { listScanResults, mapToAggregatedList, pollScanJobStatus } from './service/securityScanHandler'

0 commit comments

Comments
 (0)