diff --git a/src/vs/editor/common/modes.ts b/src/vs/editor/common/modes.ts index 40acfc5762f..e4f5458881f 100644 --- a/src/vs/editor/common/modes.ts +++ b/src/vs/editor/common/modes.ts @@ -402,7 +402,6 @@ export interface ISuggestion { filterText?: string; sortText?: string; noAutoAccept?: boolean; - id?: string; } /** diff --git a/src/vs/editor/contrib/suggest/browser/suggestModel.ts b/src/vs/editor/contrib/suggest/browser/suggestModel.ts index b7de494d3d5..5d25cc9dcb8 100644 --- a/src/vs/editor/contrib/suggest/browser/suggestModel.ts +++ b/src/vs/editor/contrib/suggest/browser/suggestModel.ts @@ -18,7 +18,7 @@ import { ISuggestSupport, ISuggestResult, ISuggestion, ISorter } from 'vs/editor import {DefaultFilter} from 'vs/editor/common/modes/modesFilters'; import { CodeSnippet } from 'vs/editor/contrib/snippet/common/snippet'; import { IDisposable, disposeAll } from 'vs/base/common/lifecycle'; -import {SuggestRegistry, ISuggestions2, suggest} from '../common/suggest'; +import {SuggestRegistry, ISuggestResult2, suggest} from '../common/suggest'; enum SuggestState { NOT_ACTIVE = 0, @@ -77,7 +77,7 @@ class RawModel { public size: number = 0; public incomplete: boolean = false; - insertSuggestions(rank: number, suggestions: ISuggestions2[]): boolean { + insertSuggestions(rank: number, suggestions: ISuggestResult2[]): boolean { if (suggestions) { let items: CompletionItem[] = []; for (let _suggestions of suggestions) { diff --git a/src/vs/editor/contrib/suggest/common/suggest.ts b/src/vs/editor/contrib/suggest/common/suggest.ts index c5423f9a3ab..3b38cd5d408 100644 --- a/src/vs/editor/contrib/suggest/common/suggest.ts +++ b/src/vs/editor/contrib/suggest/common/suggest.ts @@ -19,11 +19,11 @@ export var ACCEPT_SELECTED_SUGGESTION_CMD = 'acceptSelectedSuggestion'; export var SuggestRegistry = new LanguageFeatureRegistry('suggestSupport'); -export interface ISuggestions2 extends ISuggestResult { +export interface ISuggestResult2 extends ISuggestResult { support?: ISuggestSupport; } -export function suggest(model: IModel, position: IPosition, triggerCharacter: string, groups?: ISuggestSupport[][]): TPromise { +export function suggest(model: IModel, position: IPosition, triggerCharacter: string, groups?: ISuggestSupport[][]): TPromise { if (!groups) { groups = SuggestRegistry.orderedGroups(model); @@ -44,7 +44,7 @@ export function suggest(model: IModel, position: IPosition, triggerCharacter: st let promises = supports.map(support => { return support.suggest(resource, position, triggerCharacter).then(values => { - let result: ISuggestions2[] = []; + let result: ISuggestResult2[] = []; for (let suggestResult of values) { if (!suggestResult @@ -54,7 +54,7 @@ export function suggest(model: IModel, position: IPosition, triggerCharacter: st continue; } - const suggestions2: ISuggestions2 = { + const suggestions2: ISuggestResult2 = { support, currentWord: suggestResult.currentWord, incomplete: suggestResult.incomplete, diff --git a/src/vs/workbench/api/common/extHostLanguageFeatures.ts b/src/vs/workbench/api/common/extHostLanguageFeatures.ts index af695bd229a..696b257c71b 100644 --- a/src/vs/workbench/api/common/extHostLanguageFeatures.ts +++ b/src/vs/workbench/api/common/extHostLanguageFeatures.ts @@ -458,6 +458,10 @@ class RenameAdapter implements modes.IRenameSupport { } } +interface ISuggestion2 extends modes.ISuggestion { + id: string; +} + class SuggestAdapter implements modes.ISuggestSupport { private _documents: PluginHostModelService; @@ -489,7 +493,7 @@ class SuggestAdapter implements modes.ISuggestSupport { for (let i = 0; i < value.length; i++) { const item = value[i]; - const suggestion = TypeConverters.Suggest.from(item); + const suggestion = TypeConverters.Suggest.from(item); if (item.textEdit) { @@ -535,7 +539,7 @@ class SuggestAdapter implements modes.ISuggestSupport { if (!items) { return TPromise.as(suggestion); } - let item = items[Number(suggestion.id)]; + let item = items[Number(( suggestion).id)]; if (!item) { return TPromise.as(suggestion); }