From 4ab19b3614a89053add7d46978613101a143db1f Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Mon, 20 Feb 2017 15:40:51 +0100 Subject: [PATCH] make ISuggestSupport#triggerCharacters optional --- src/vs/editor/common/modes.ts | 2 +- src/vs/editor/common/services/editorWorkerServiceImpl.ts | 1 - .../editor/contrib/suggest/test/common/completionModel.test.ts | 3 +-- src/vs/editor/contrib/suggest/test/common/suggest.test.ts | 3 +-- src/vs/editor/contrib/suggest/test/common/suggestModel.test.ts | 3 --- src/vs/workbench/api/node/mainThreadLanguageFeatures.ts | 2 +- .../parts/snippets/electron-browser/snippetsService.ts | 1 - 7 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/vs/editor/common/modes.ts b/src/vs/editor/common/modes.ts index a280adb512b..7b614c147cd 100644 --- a/src/vs/editor/common/modes.ts +++ b/src/vs/editor/common/modes.ts @@ -236,7 +236,7 @@ export interface ISuggestResult { */ export interface ISuggestSupport { - triggerCharacters: string[]; + triggerCharacters?: string[]; provideCompletionItems(model: editorCommon.IReadOnlyModel, position: Position, token: CancellationToken): ISuggestResult | Thenable; diff --git a/src/vs/editor/common/services/editorWorkerServiceImpl.ts b/src/vs/editor/common/services/editorWorkerServiceImpl.ts index 15c2650d8cf..63c5af6992b 100644 --- a/src/vs/editor/common/services/editorWorkerServiceImpl.ts +++ b/src/vs/editor/common/services/editorWorkerServiceImpl.ts @@ -47,7 +47,6 @@ export class EditorWorkerServiceImpl implements IEditorWorkerService { } }); const completionProvider = modes.SuggestRegistry.register('*', { - triggerCharacters: [], provideCompletionItems: (model, position, token) => { if (configurationService.lookup('editor.wordBasedSuggestions').value) { return this._workerManager.withWorker().then(client => client.textualSuggest(model.uri, position)); diff --git a/src/vs/editor/contrib/suggest/test/common/completionModel.test.ts b/src/vs/editor/contrib/suggest/test/common/completionModel.test.ts index 1e464649c82..ee90794d46a 100644 --- a/src/vs/editor/contrib/suggest/test/common/completionModel.test.ts +++ b/src/vs/editor/contrib/suggest/test/common/completionModel.test.ts @@ -31,7 +31,6 @@ suite('CompletionModel', function () { }; support: ISuggestSupport = { - triggerCharacters: [], provideCompletionItems(): any { return; } @@ -98,7 +97,7 @@ suite('CompletionModel', function () { assert.equal(model.incomplete, true); assert.equal(model.items.length, 2); - const {complete, incomplete} = model.resolveIncompleteInfo(); + const { complete, incomplete } = model.resolveIncompleteInfo(); assert.equal(incomplete.length, 1); assert.ok(incomplete[0] === incompleteItem.support); diff --git a/src/vs/editor/contrib/suggest/test/common/suggest.test.ts b/src/vs/editor/contrib/suggest/test/common/suggest.test.ts index 45f07a09b68..e4611538bd4 100644 --- a/src/vs/editor/contrib/suggest/test/common/suggest.test.ts +++ b/src/vs/editor/contrib/suggest/test/common/suggest.test.ts @@ -22,7 +22,6 @@ suite('Suggest', function () { model = Model.createFromString('FOO\nbar\BAR\nfoo', undefined, undefined, URI.parse('foo:bar/path')); registration = SuggestRegistry.register({ pattern: 'bar/path' }, { - triggerCharacters: [], provideCompletionItems() { return { incomplete: false, @@ -108,4 +107,4 @@ suite('Suggest', function () { assert.ok(items[0].support === foo); }); }); -}); \ No newline at end of file +}); diff --git a/src/vs/editor/contrib/suggest/test/common/suggestModel.test.ts b/src/vs/editor/contrib/suggest/test/common/suggestModel.test.ts index 6143d956fdd..25339c5f59e 100644 --- a/src/vs/editor/contrib/suggest/test/common/suggestModel.test.ts +++ b/src/vs/editor/contrib/suggest/test/common/suggestModel.test.ts @@ -68,7 +68,6 @@ suite('SuggestModel - TriggerAndCancelOracle', function () { const alwaysEmptySupport: ISuggestSupport = { - triggerCharacters: [], provideCompletionItems(doc, pos) { return { incomplete: false, @@ -78,7 +77,6 @@ suite('SuggestModel - TriggerAndCancelOracle', function () { }; const alwaysSomethingSupport: ISuggestSupport = { - triggerCharacters: [], provideCompletionItems(doc, pos) { return { currentWord: '', @@ -224,7 +222,6 @@ suite('SuggestModel - TriggerAndCancelOracle', function () { test('#17400: Keep filtering suggestModel.ts after space', function () { disposables.push(SuggestRegistry.register({ scheme: 'test' }, { - triggerCharacters: [], provideCompletionItems(doc, pos) { return { currentWord: '', diff --git a/src/vs/workbench/api/node/mainThreadLanguageFeatures.ts b/src/vs/workbench/api/node/mainThreadLanguageFeatures.ts index 4a57ebc458a..fff4d2338a9 100644 --- a/src/vs/workbench/api/node/mainThreadLanguageFeatures.ts +++ b/src/vs/workbench/api/node/mainThreadLanguageFeatures.ts @@ -225,7 +225,7 @@ export class MainThreadLanguageFeatures extends MainThreadLanguageFeaturesShape $registerSuggestSupport(handle: number, selector: vscode.DocumentSelector, triggerCharacters: string[]): TPromise { this._registrations[handle] = modes.SuggestRegistry.register(selector, { - triggerCharacters: triggerCharacters, + triggerCharacters, provideCompletionItems: (model: IReadOnlyModel, position: EditorPosition, token: CancellationToken): Thenable => { return this._heapService.trackRecursive(wireCancellationToken(token, this._proxy.$provideCompletionItems(handle, model.uri, position))); }, diff --git a/src/vs/workbench/parts/snippets/electron-browser/snippetsService.ts b/src/vs/workbench/parts/snippets/electron-browser/snippetsService.ts index 1c41fbfcf1e..b0513b49c8b 100644 --- a/src/vs/workbench/parts/snippets/electron-browser/snippetsService.ts +++ b/src/vs/workbench/parts/snippets/electron-browser/snippetsService.ts @@ -43,7 +43,6 @@ class SnippetsService implements ISnippetsService { constructor() { setSnippetSuggestSupport({ - triggerCharacters: undefined, provideCompletionItems: (model, position) => { const suggestions = this.getSnippetCompletions(model, position); return { suggestions }; -- GitLab