diff options
author | Kitson Kelly <me@kitsonkelly.com> | 2021-02-01 14:30:41 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-01 14:30:41 +1100 |
commit | 534531e4dd4133ff22f775b385ba488ec747cead (patch) | |
tree | a3f4fcd57ab661acb3b05f4c54ad80af42a86b22 /cli/tsc | |
parent | 46d5843f753548415c87f3c8a868bba49c203b92 (diff) |
feat(lsp): add references code lens (#9316)
Diffstat (limited to 'cli/tsc')
-rw-r--r-- | cli/tsc/99_main_compiler.js | 72 | ||||
-rw-r--r-- | cli/tsc/compiler.d.ts | 58 |
2 files changed, 71 insertions, 59 deletions
diff --git a/cli/tsc/99_main_compiler.js b/cli/tsc/99_main_compiler.js index b50e32c76..1dc00873d 100644 --- a/cli/tsc/99_main_compiler.js +++ b/cli/tsc/99_main_compiler.js @@ -502,6 +502,18 @@ delete Object.prototype.__proto__; compilationSettings = options; return respond(id, true); } + case "findRenameLocations": { + return respond( + id, + languageService.findRenameLocations( + request.specifier, + request.position, + request.findInStrings, + request.findInComments, + request.providePrefixAndSuffixTextForRename, + ), + ); + } case "getAsset": { const sourceFile = host.getSourceFile( request.specifier, @@ -509,6 +521,25 @@ delete Object.prototype.__proto__; ); return respond(id, sourceFile && sourceFile.text); } + case "getCompletions": { + return respond( + id, + languageService.getCompletionsAtPosition( + request.specifier, + request.position, + request.preferences, + ), + ); + } + case "getDefinition": { + return respond( + id, + languageService.getDefinitionAndBoundSpan( + request.specifier, + request.position, + ), + ); + } case "getDiagnostics": { try { /** @type {Record<string, any[]>} */ @@ -530,25 +561,6 @@ delete Object.prototype.__proto__; return respond(id, {}); } } - case "getQuickInfo": { - return respond( - id, - languageService.getQuickInfoAtPosition( - request.specifier, - request.position, - ), - ); - } - case "getCompletions": { - return respond( - id, - languageService.getCompletionsAtPosition( - request.specifier, - request.position, - request.preferences, - ), - ); - } case "getDocumentHighlights": { return respond( id, @@ -559,42 +571,36 @@ delete Object.prototype.__proto__; ), ); } - case "getReferences": { + case "getImplementation": { return respond( id, - languageService.getReferencesAtPosition( + languageService.getImplementationAtPosition( request.specifier, request.position, ), ); } - case "getDefinition": { + case "getNavigationTree": { return respond( id, - languageService.getDefinitionAndBoundSpan( - request.specifier, - request.position, - ), + languageService.getNavigationTree(request.specifier), ); } - case "getImplementation": { + case "getQuickInfo": { return respond( id, - languageService.getImplementationAtPosition( + languageService.getQuickInfoAtPosition( request.specifier, request.position, ), ); } - case "findRenameLocations": { + case "getReferences": { return respond( id, - languageService.findRenameLocations( + languageService.getReferencesAtPosition( request.specifier, request.position, - request.findInStrings, - request.findInComments, - request.providePrefixAndSuffixTextForRename, ), ); } diff --git a/cli/tsc/compiler.d.ts b/cli/tsc/compiler.d.ts index fc0a2bf83..17d6ddb38 100644 --- a/cli/tsc/compiler.d.ts +++ b/cli/tsc/compiler.d.ts @@ -42,15 +42,16 @@ declare global { type LanguageServerRequest = | ConfigureRequest + | FindRenameLocationsRequest | GetAsset + | GetCompletionsRequest + | GetDefinitionRequest | GetDiagnosticsRequest - | GetQuickInfoRequest | GetDocumentHighlightsRequest - | GetReferencesRequest - | GetDefinitionRequest - | GetCompletionsRequest | GetImplementationRequest - | FindRenameLocationsRequest; + | GetNavigationTree + | GetQuickInfoRequest + | GetReferencesRequest; interface BaseLanguageServerRequest { id: number; @@ -63,18 +64,34 @@ declare global { compilerOptions: Record<string, any>; } + interface FindRenameLocationsRequest extends BaseLanguageServerRequest { + method: "findRenameLocations"; + specifier: string; + position: number; + findInStrings: boolean; + findInComments: boolean; + providePrefixAndSuffixTextForRename: boolean; + } + interface GetAsset extends BaseLanguageServerRequest { method: "getAsset"; specifier: string; } + interface GetCompletionsRequest extends BaseLanguageServerRequest { + method: "getCompletions"; + specifier: string; + position: number; + preferences: ts.UserPreferences; + } + interface GetDiagnosticsRequest extends BaseLanguageServerRequest { method: "getDiagnostics"; specifiers: string[]; } - interface GetQuickInfoRequest extends BaseLanguageServerRequest { - method: "getQuickInfo"; + interface GetDefinitionRequest extends BaseLanguageServerRequest { + method: "getDefinition"; specifier: string; position: number; } @@ -86,37 +103,26 @@ declare global { filesToSearch: string[]; } - interface GetReferencesRequest extends BaseLanguageServerRequest { - method: "getReferences"; + interface GetImplementationRequest extends BaseLanguageServerRequest { + method: "getImplementation"; specifier: string; position: number; } - interface GetDefinitionRequest extends BaseLanguageServerRequest { - method: "getDefinition"; + interface GetNavigationTree extends BaseLanguageServerRequest { + method: "getNavigationTree"; specifier: string; - position: number; } - interface GetCompletionsRequest extends BaseLanguageServerRequest { - method: "getCompletions"; - specifier: string; - position: number; - preferences: ts.UserPreferences; - } - - interface GetImplementationRequest extends BaseLanguageServerRequest { - method: "getImplementation"; + interface GetQuickInfoRequest extends BaseLanguageServerRequest { + method: "getQuickInfo"; specifier: string; position: number; } - interface FindRenameLocationsRequest extends BaseLanguageServerRequest { - method: "findRenameLocations"; + interface GetReferencesRequest extends BaseLanguageServerRequest { + method: "getReferences"; specifier: string; position: number; - findInStrings: boolean; - findInComments: boolean; - providePrefixAndSuffixTextForRename: boolean; } } |