Skip to content

Commit f6f0da8

Browse files
authored
fix: add file context override for inline completion (#660)
## Problem Support of inline completion in JL Notebook is gone since the language server migration. aws/aws-toolkit-vscode#7086 ## Solution Let the IDE provide the file context. There is a technical limitations of the language server that it cannot find or construct the `vscode.NotebookDocument`, `vscode.NotebookCell`. The `workspace.getTextDocument` does not work with JL Notebook as it gets a URI in the format of "`vscode-notebook-cell:/../A1.ipynb#W2sZmlsZQ%3D%3D`". The language server does not have the cell number, cell state, cursor position, etc of the current cell. <!--- REMINDER: - Read CONTRIBUTING.md first. - Add test coverage for your changes. - Link to related issues/commits. - Testing: how did you test your changes? - Screenshots if applicable --> ## License By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
1 parent b7f4b84 commit f6f0da8

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

runtimes/protocol/inlineCompletionWithReferences.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,23 @@ interface OpenTabParams {
2121
openTabFilepaths?: string[]
2222
}
2323

24+
interface FileContext {
25+
leftFileContent: string
26+
rightFileContent: string
27+
filename: string
28+
fileUri?: string
29+
programmingLanguage: string
30+
}
31+
32+
interface FileContextParams {
33+
fileContextOverride?: FileContext
34+
}
35+
2436
export type InlineCompletionWithReferencesParams = InlineCompletionParams &
2537
PartialResultParams &
2638
DocumentChangeParams &
27-
OpenTabParams
39+
OpenTabParams &
40+
FileContextParams
2841

2942
export const inlineCompletionWithReferencesRequestType = new ProtocolRequestType<
3043
InlineCompletionWithReferencesParams,

0 commit comments

Comments
 (0)