mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-28 04:23:32 +01:00
@@ -306,12 +306,23 @@ class TypeScriptCompletionItemProvider implements vscode.CompletionItemProvider
|
||||
triggerCharacter: context.triggerCharacter as Proto.CompletionsTriggerCharacter
|
||||
};
|
||||
|
||||
let msg: Proto.CompletionEntry[] | undefined = undefined;
|
||||
let msg: ReadonlyArray<Proto.CompletionEntry> | undefined = undefined;
|
||||
try {
|
||||
const response = await this.client.execute('completions', args, token);
|
||||
msg = response.body;
|
||||
if (!msg) {
|
||||
return [];
|
||||
if (this.client.apiVersion.gte(API.v300)) {
|
||||
const response = await this.client.execute('completionInfo', args, token);
|
||||
if (!response.body) {
|
||||
return [];
|
||||
}
|
||||
if (response.body.isNewIdentifierLocation) {
|
||||
return [];
|
||||
}
|
||||
msg = response.body.entries;
|
||||
} else {
|
||||
const response = await this.client.execute('completions', args, token);
|
||||
if (!response.body) {
|
||||
return [];
|
||||
}
|
||||
msg = response.body;
|
||||
}
|
||||
} catch {
|
||||
return [];
|
||||
|
||||
@@ -51,6 +51,7 @@ export interface ITypeScriptServiceClient {
|
||||
execute(command: 'change', args: Proto.ChangeRequestArgs, expectedResult: boolean, token?: CancellationToken): Promise<any>;
|
||||
execute(command: 'quickinfo', args: Proto.FileLocationRequestArgs, token?: CancellationToken): Promise<Proto.QuickInfoResponse>;
|
||||
execute(command: 'completions', args: Proto.CompletionsRequestArgs, token?: CancellationToken): Promise<Proto.CompletionsResponse>;
|
||||
execute(command: 'completionInfo', args: Proto.CompletionsRequestArgs, token?: CancellationToken): Promise<Proto.CompletionInfoResponse>;
|
||||
execute(command: 'completionEntryDetails', args: Proto.CompletionDetailsRequestArgs, token?: CancellationToken): Promise<Proto.CompletionDetailsResponse>;
|
||||
execute(command: 'signatureHelp', args: Proto.SignatureHelpRequestArgs, token?: CancellationToken): Promise<Proto.SignatureHelpResponse>;
|
||||
execute(command: 'definition', args: Proto.FileLocationRequestArgs, token?: CancellationToken): Promise<Proto.DefinitionResponse>;
|
||||
|
||||
Reference in New Issue
Block a user