From b77fcbc518428429e39f5ba94e41fcd0418ee7a0 Mon Sep 17 00:00:00 2001 From: Kitson Kelly Date: Fri, 5 Feb 2021 05:53:02 +1100 Subject: feat(lsp): add TS quick fix code actions (#9396) --- cli/tsc/99_main_compiler.js | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'cli/tsc/99_main_compiler.js') diff --git a/cli/tsc/99_main_compiler.js b/cli/tsc/99_main_compiler.js index fa25b207f..50631e83f 100644 --- a/cli/tsc/99_main_compiler.js +++ b/cli/tsc/99_main_compiler.js @@ -555,6 +555,45 @@ delete Object.prototype.__proto__; ); return respond(id, sourceFile && sourceFile.text); } + case "getCodeFixes": { + return respond( + id, + languageService.getCodeFixesAtPosition( + request.specifier, + request.startPosition, + request.endPosition, + request.errorCodes.map((v) => Number(v)), + { + indentSize: 2, + indentStyle: ts.IndentStyle.Block, + semicolons: ts.SemicolonPreference.Insert, + }, + { + quotePreference: "double", + }, + ), + ); + } + case "getCombinedCodeFix": { + return respond( + id, + languageService.getCombinedCodeFix( + { + type: "file", + fileName: request.specifier, + }, + request.fixId, + { + indentSize: 2, + indentStyle: ts.IndentStyle.Block, + semicolons: ts.SemicolonPreference.Insert, + }, + { + quotePreference: "double", + }, + ), + ); + } case "getCompletions": { return respond( id, @@ -638,6 +677,12 @@ delete Object.prototype.__proto__; ), ); } + case "getSupportedCodeFixes": { + return respond( + id, + ts.getSupportedCodeFixes(), + ); + } default: throw new TypeError( // @ts-ignore exhausted case statement sets type to never -- cgit v1.2.3