Switch to finalized TS protocol types (#152259)

This commit is contained in:
Matt Bierner
2022-06-15 15:37:21 -07:00
committed by GitHub
parent 8fb977f2c1
commit a289e64e09
2 changed files with 3 additions and 30 deletions

View File

@@ -6,41 +6,13 @@
import * as vscode from 'vscode';
import * as nls from 'vscode-nls';
import { Command, CommandManager } from '../commands/commandManager';
import * as Proto from '../protocol';
import { ExecConfig, ITypeScriptServiceClient, ServerResponse } from '../typescriptService';
import { ITypeScriptServiceClient } from '../typescriptService';
import API from '../utils/api';
import { isSupportedLanguageMode } from '../utils/languageIds';
import * as typeConverters from '../utils/typeConverters';
const localize = nls.loadMessageBundle();
namespace ExperimentalProto {
export const enum CommandTypes {
FindSourceDefinition = 'findSourceDefinition'
}
export interface SourceDefinitionRequestArgs extends Proto.FileLocationRequestArgs { }
export interface SourceDefinitionRequest extends Proto.Request {
command: CommandTypes.FindSourceDefinition;
arguments: SourceDefinitionRequestArgs;
}
export interface InlayHintsResponse extends Proto.DefinitionResponse { }
export interface IExtendedTypeScriptServiceClient {
execute<K extends keyof ExtendedTsServerRequests>(
command: K,
args: ExtendedTsServerRequests[K][0],
token: vscode.CancellationToken,
config?: ExecConfig
): Promise<ServerResponse.Response<ExtendedTsServerRequests[K][1]>>;
}
export interface ExtendedTsServerRequests {
'findSourceDefinition': [SourceDefinitionRequestArgs, InlayHintsResponse];
}
}
class SourceDefinitionCommand implements Command {
@@ -85,7 +57,7 @@ class SourceDefinitionCommand implements Command {
const position = activeEditor.selection.anchor;
const args = typeConverters.Position.toFileLocationRequestArgs(openedFiledPath, position);
const response = await (this.client as ExperimentalProto.IExtendedTypeScriptServiceClient).execute('findSourceDefinition', args, token);
const response = await this.client.execute('findSourceDefinition', args, token);
if (response.type === 'response' && response.body) {
const locations: vscode.Location[] = response.body.map(reference =>
typeConverters.Location.fromTextSpan(this.client.toResource(reference.file), reference));

View File

@@ -73,6 +73,7 @@ interface StandardTsServerRequests {
'fileReferences': [Proto.FileRequestArgs, Proto.FileReferencesResponse];
'provideInlayHints': [Proto.InlayHintsRequestArgs, Proto.InlayHintsResponse];
'encodedSemanticClassifications-full': [Proto.EncodedSemanticClassificationsRequestArgs, Proto.EncodedSemanticClassificationsResponse];
'findSourceDefinition': [Proto.FileLocationRequestArgs, Proto.DefinitionResponse];
}
interface NoResponseTsServerRequests {