diff --git a/src/vs/editor/standalone/browser/standaloneLanguages.ts b/src/vs/editor/standalone/browser/standaloneLanguages.ts index 1e4f3f4fc299..eded61cea6f5 100644 --- a/src/vs/editor/standalone/browser/standaloneLanguages.ts +++ b/src/vs/editor/standalone/browser/standaloneLanguages.ts @@ -530,6 +530,18 @@ export interface CompletionItem { * line completions were [requested](#CompletionItemProvider.provideCompletionItems) at.~~ */ textEdit?: model.ISingleEditOperation; + /** + * An optional array of additional text edits that are applied when + * selecting this completion. Edits must not overlap with the main edit + * nor with themselves. + */ + additionalTextEdits?: model.ISingleEditOperation[]; + /** + * An optional set of characters that when pressed while this completion is active will accept it first and + * then type that character. *Note* that all commit characters should have `length=1` and that superfluous + * characters will be ignored. + */ + commitCharacters?: string[]; } /** * Represents a collection of [completion items](#CompletionItem) to be presented @@ -639,7 +651,9 @@ class SuggestAdapter { command: item.command, sortText: item.sortText, filterText: item.filterText, - snippetType: 'internal' + snippetType: 'internal', + additionalTextEdits: item.additionalTextEdits, + commitCharacters: item.commitCharacters }; let editRange = item.textEdit ? item.textEdit.range : item.range; if (editRange) { diff --git a/src/vs/monaco.d.ts b/src/vs/monaco.d.ts index 2bf4f6caafb5..c4adbda4a913 100644 --- a/src/vs/monaco.d.ts +++ b/src/vs/monaco.d.ts @@ -4180,6 +4180,18 @@ declare module monaco.languages { * line completions were [requested](#CompletionItemProvider.provideCompletionItems) at.~~ */ textEdit?: editor.ISingleEditOperation; + /** + * An optional array of additional text edits that are applied when + * selecting this completion. Edits must not overlap with the main edit + * nor with themselves. + */ + additionalTextEdits?: editor.ISingleEditOperation[]; + /** + * An optional set of characters that when pressed while this completion is active will accept it first and + * then type that character. *Note* that all commit characters should have `length=1` and that superfluous + * characters will be ignored. + */ + commitCharacters?: string[]; } /**