diff --git a/src/vs/editor/browser/standalone/standaloneLanguages.ts b/src/vs/editor/browser/standalone/standaloneLanguages.ts index 6c6476f4a883afe646d605da301776e5b0156fde..674dc0e4913715be102cd4997f2dfc5a7546c022 100644 --- a/src/vs/editor/browser/standalone/standaloneLanguages.ts +++ b/src/vs/editor/browser/standalone/standaloneLanguages.ts @@ -197,7 +197,6 @@ export function registerCompletionItemProvider(languageId:string, provider:Compl let adapter = new SuggestAdapter(provider); return modes.SuggestRegistry.register(languageId, { triggerCharacters: provider.triggerCharacters, - shouldAutotriggerSuggest: true, provideCompletionItems: (model:editorCommon.IReadOnlyModel, position:Position, token:CancellationToken): Thenable => { return adapter.provideCompletionItems(model, position, token); }, diff --git a/src/vs/editor/common/modes.ts b/src/vs/editor/common/modes.ts index d0d19288424fea2fb2572a37b0dacec33c7466ab..983de4140f6fa2744c4c64054f37239c27e0c3d1 100644 --- a/src/vs/editor/common/modes.ts +++ b/src/vs/editor/common/modes.ts @@ -397,8 +397,6 @@ export interface ISuggestSupport { triggerCharacters: string[]; - shouldAutotriggerSuggest: boolean; - filter?: IFilter; provideCompletionItems(model:editorCommon.IReadOnlyModel, position:Position, token:CancellationToken): ISuggestResult[] | Thenable; diff --git a/src/vs/editor/common/modes/supports/suggestSupport.ts b/src/vs/editor/common/modes/supports/suggestSupport.ts index 9fd3ecb40ab6f0a5767949cc66b82b16183dcc5e..9c9c0ae3e05e14e7aa36b7e0ba9ca1aed8f738ac 100644 --- a/src/vs/editor/common/modes/supports/suggestSupport.ts +++ b/src/vs/editor/common/modes/supports/suggestSupport.ts @@ -19,10 +19,6 @@ export class TextualSuggestSupport implements ISuggestSupport { return []; } - public get shouldAutotriggerSuggest(): boolean { - return true; - } - public get filter(): IFilter { return matchesPrefix; } diff --git a/src/vs/editor/contrib/suggest/browser/suggest.ts b/src/vs/editor/contrib/suggest/browser/suggest.ts index d807752d3b163b21a960c5ded548b849a8033809..936a30e70d9e91399b4c9fcb6708b84eeb9219f9 100644 --- a/src/vs/editor/contrib/suggest/browser/suggest.ts +++ b/src/vs/editor/contrib/suggest/browser/suggest.ts @@ -119,21 +119,11 @@ export class SuggestController implements IEditorContribution { Object.keys(triggerCharacters).forEach(ch => { this.triggerCharacterListeners.push(this.editor.addTypingListener(ch, () => { - this.triggerCharacterHandler(ch, triggerCharacters[ch]); + this.triggerSuggest(ch, triggerCharacters[ch]).done(null, onUnexpectedError); })); }); } - private triggerCharacterHandler(character: string, groups: ISuggestSupport[][]): void { - groups = groups.map(supports => { - return supports.filter(support => support.shouldAutotriggerSuggest); - }); - - if (groups.length > 0) { - this.triggerSuggest(character, groups).done(null, onUnexpectedError); - } - } - triggerSuggest(triggerCharacter?: string, groups?: ISuggestSupport[][]): TPromise { this.model.trigger(false, triggerCharacter, false, groups); this.editor.focus(); diff --git a/src/vs/editor/contrib/suggest/common/suggestModel.ts b/src/vs/editor/contrib/suggest/common/suggestModel.ts index 225d05773bb61ebbe2011917b33a5d397670eaad..695af46533e8959c17fca5d1bcf9878d431d012d 100644 --- a/src/vs/editor/contrib/suggest/common/suggestModel.ts +++ b/src/vs/editor/contrib/suggest/common/suggestModel.ts @@ -45,7 +45,6 @@ class Context { column: number; isInEditableRange: boolean; - private isAutoTriggerEnabled: boolean; lineContentBefore: string; lineContentAfter: string; @@ -78,16 +77,9 @@ class Context { this.isInEditableRange = false; } } - - const supports = SuggestRegistry.all(model); - this.isAutoTriggerEnabled = supports.some(s => s.shouldAutotriggerSuggest); } shouldAutoTrigger(): boolean { - if (!this.isAutoTriggerEnabled) { - // Support disallows it - return false; - } if (this.wordBefore.length === 0) { // Word before position is empty 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 cb790ff3964156f2614d396109c3f8eb35614957..b0454a1aacd81fe9a93a9264129f243c31dfd05d 100644 --- a/src/vs/editor/contrib/suggest/test/common/suggest.test.ts +++ b/src/vs/editor/contrib/suggest/test/common/suggest.test.ts @@ -23,7 +23,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: [], - shouldAutotriggerSuggest: true, provideCompletionItems() { return [{ currentWord: '', diff --git a/src/vs/languages/handlebars/common/handlebars.ts b/src/vs/languages/handlebars/common/handlebars.ts index d076da2395c592bdef4cb76fa32bac0a2cf88ae1..4ba109f6014c7904a064b011a96e6f2406891ca4 100644 --- a/src/vs/languages/handlebars/common/handlebars.ts +++ b/src/vs/languages/handlebars/common/handlebars.ts @@ -164,7 +164,6 @@ export class HandlebarsMode extends htmlMode.HTMLMode { protected _registerSupports(): void { modes.SuggestRegistry.register(this.getId(), { triggerCharacters: ['.', ':', '<', '"', '=', '/'], - shouldAutotriggerSuggest: true, provideCompletionItems: (model, position, token): Thenable => { return wireCancellationToken(token, this._provideCompletionItems(model.uri, position)); } diff --git a/src/vs/languages/html/common/html.ts b/src/vs/languages/html/common/html.ts index 997814113899ee2734a001cdf72d73916e533a31..829506daa7c18b37afb887596ebeb4b47fd704c9 100644 --- a/src/vs/languages/html/common/html.ts +++ b/src/vs/languages/html/common/html.ts @@ -358,7 +358,6 @@ export class HTMLMode extends CompatMode implem modes.SuggestRegistry.register(this.getId(), { triggerCharacters: ['.', ':', '<', '"', '=', '/'], - shouldAutotriggerSuggest: true, provideCompletionItems: (model, position, token): Thenable => { return wireCancellationToken(token, this._provideCompletionItems(model.uri, position)); } diff --git a/src/vs/languages/razor/common/razor.ts b/src/vs/languages/razor/common/razor.ts index d73a46b82599931240c95946ff4d3ad429da942b..e5a84287ec2e41e55b700778627f20849260e66b 100644 --- a/src/vs/languages/razor/common/razor.ts +++ b/src/vs/languages/razor/common/razor.ts @@ -112,7 +112,6 @@ export class RAZORMode extends htmlMode.HTMLMode { protected _registerSupports(): void { modes.SuggestRegistry.register(this.getId(), { triggerCharacters: ['.', ':', '<', '"', '=', '/'], - shouldAutotriggerSuggest: true, provideCompletionItems: (model, position, token): Thenable => { return wireCancellationToken(token, this._provideCompletionItems(model.uri, position)); } diff --git a/src/vs/workbench/api/node/mainThreadLanguageFeatures.ts b/src/vs/workbench/api/node/mainThreadLanguageFeatures.ts index 355c0ed889dba8217e6648990dabf432fa2dcc94..b24b25507a92dc5614549b932de12b90520851c8 100644 --- a/src/vs/workbench/api/node/mainThreadLanguageFeatures.ts +++ b/src/vs/workbench/api/node/mainThreadLanguageFeatures.ts @@ -176,7 +176,6 @@ export class MainThreadLanguageFeatures extends MainThreadLanguageFeaturesShape $registerSuggestSupport(handle: number, selector: vscode.DocumentSelector, triggerCharacters: string[]): TPromise { this._registrations[handle] = modes.SuggestRegistry.register(selector, { triggerCharacters: triggerCharacters, - shouldAutotriggerSuggest: true, provideCompletionItems: (model:IReadOnlyModel, position:EditorPosition, token:CancellationToken): Thenable => { return wireCancellationToken(token, this._proxy.$provideCompletionItems(handle, model.uri, position)); },