propose CompletionList#isDetailsResolved, #39441

This commit is contained in:
Johannes Rieken
2020-01-09 15:50:21 +01:00
parent 816064e3b3
commit c40b6072bc
8 changed files with 23 additions and 2 deletions
+1
View File
@@ -481,6 +481,7 @@ export interface CompletionItem {
export interface CompletionList {
suggestions: CompletionItem[];
incomplete?: boolean;
isDetailsResolved?: boolean;
dispose?(): void;
}
+5
View File
@@ -47,6 +47,9 @@ export class CompletionItem {
idx?: number;
word?: string;
//
readonly isDetailsResolved: boolean;
constructor(
readonly position: IPosition,
readonly completion: modes.CompletionItem,
@@ -70,6 +73,8 @@ export class CompletionItem {
this.editReplaceEnd = new Position(completion.range.replace.endLineNumber, completion.range.replace.endColumn);
}
this.isDetailsResolved = container.isDetailsResolved || typeof provider.resolveCompletionItem === 'undefined';
// create the suggestion resolver
const { resolveCompletionItem } = provider;
if (typeof resolveCompletionItem !== 'function') {
+1
View File
@@ -4854,6 +4854,7 @@ declare namespace monaco.languages {
export interface CompletionList {
suggestions: CompletionItem[];
incomplete?: boolean;
isDetailsResolved?: boolean;
dispose?(): void;
}
+11
View File
@@ -1504,4 +1504,15 @@ declare module 'vscode' {
export const onDidChangeActiveColorTheme: Event<ColorTheme>;
}
//#endregion
//#region https://github.com/microsoft/vscode/issues/39441
export interface CompletionList {
isDetailsResolved?: boolean;
}
//#endregion
}
@@ -367,6 +367,7 @@ export class MainThreadLanguageFeatures implements MainThreadLanguageFeaturesSha
return {
suggestions: result.b.map(d => MainThreadLanguageFeatures._inflateSuggestDto(result.a, d)),
incomplete: result.c,
isDetailsResolved: result.d,
dispose: () => typeof result.x === 'number' && this._proxy.$releaseCompletionItems(handle, result.x)
};
});
@@ -1012,6 +1012,7 @@ export interface ISuggestResultDto {
a: { insert: IRange, replace: IRange; };
b: ISuggestDataDto[];
c?: boolean;
d?: boolean;
}
export interface ISignatureHelpDto {
@@ -787,7 +787,8 @@ class SuggestAdapter {
x: pid,
b: [],
a: { replace: typeConvert.Range.from(replaceRange), insert: typeConvert.Range.from(insertRange) },
c: list.isIncomplete || undefined
c: list.isIncomplete || undefined,
d: list.isDetailsResolved || undefined
};
for (let i = 0; i < list.items.length; i++) {
+1 -1
View File
@@ -1395,7 +1395,7 @@ export class CompletionItem implements vscode.CompletionItem {
export class CompletionList {
isIncomplete?: boolean;
isDetailsResolved?: boolean;
items: vscode.CompletionItem[];
constructor(items: vscode.CompletionItem[] = [], isIncomplete: boolean = false) {