From 728d205d9d2551a356a022b6b083bcdcf081f3bf Mon Sep 17 00:00:00 2001 From: Jean Pierre Date: Thu, 5 Aug 2021 20:46:32 -0500 Subject: feat(lsp): implement refactoring code actions (#11555) Closes: denoland/vscode_deno#433 --- cli/tests/lsp/code_action_response_refactor.json | 157 +++++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 cli/tests/lsp/code_action_response_refactor.json (limited to 'cli/tests/lsp/code_action_response_refactor.json') diff --git a/cli/tests/lsp/code_action_response_refactor.json b/cli/tests/lsp/code_action_response_refactor.json new file mode 100644 index 000000000..87f354e37 --- /dev/null +++ b/cli/tests/lsp/code_action_response_refactor.json @@ -0,0 +1,157 @@ +[ + { + "title": "Extract to type alias", + "kind": "refactor.extract.type", + "isPreferred": true, + "data": { + "specifier": "file:///a/file.ts", + "range": { + "start": { + "line": 0, + "character": 7 + }, + "end": { + "line": 0, + "character": 33 + } + }, + "refactorName": "Extract type", + "actionName": "Extract to type alias" + } + }, + { + "title": "Extract to interface", + "kind": "refactor.extract.interface", + "isPreferred": true, + "data": { + "specifier": "file:///a/file.ts", + "range": { + "start": { + "line": 0, + "character": 7 + }, + "end": { + "line": 0, + "character": 33 + } + }, + "refactorName": "Extract type", + "actionName": "Extract to interface" + } + }, + { + "title": "Extract function", + "kind": "refactor.extract.function", + "isPreferred": false, + "disabled": { + "reason": "Statement or expression expected." + }, + "data": { + "specifier": "file:///a/file.ts", + "range": { + "start": { + "line": 0, + "character": 7 + }, + "end": { + "line": 0, + "character": 33 + } + }, + "refactorName": "Extract Symbol", + "actionName": "Extract Function" + } + }, + { + "title": "Extract constant", + "kind": "refactor.extract.constant", + "isPreferred": false, + "disabled": { + "reason": "Statement or expression expected." + }, + "data": { + "specifier": "file:///a/file.ts", + "range": { + "start": { + "line": 0, + "character": 7 + }, + "end": { + "line": 0, + "character": 33 + } + }, + "refactorName": "Extract Symbol", + "actionName": "Extract Constant" + } + }, + { + "title": "Convert default export to named export", + "kind": "refactor.rewrite.export.named", + "isPreferred": false, + "disabled": { + "reason": "Could not find export statement" + }, + "data": { + "specifier": "file:///a/file.ts", + "range": { + "start": { + "line": 0, + "character": 7 + }, + "end": { + "line": 0, + "character": 33 + } + }, + "refactorName": "Convert export", + "actionName": "Convert default export to named export" + } + }, + { + "title": "Convert named export to default export", + "kind": "refactor.rewrite.export.default", + "isPreferred": false, + "disabled": { + "reason": "Could not find export statement" + }, + "data": { + "specifier": "file:///a/file.ts", + "range": { + "start": { + "line": 0, + "character": 7 + }, + "end": { + "line": 0, + "character": 33 + } + }, + "refactorName": "Convert export", + "actionName": "Convert named export to default export" + } + }, + { + "title": "Convert namespace import to named imports", + "kind": "refactor.rewrite.import.named", + "isPreferred": false, + "disabled": { + "reason": "Selection is not an import declaration." + }, + "data": { + "specifier": "file:///a/file.ts", + "range": { + "start": { + "line": 0, + "character": 7 + }, + "end": { + "line": 0, + "character": 33 + } + }, + "refactorName": "Convert import", + "actionName": "Convert namespace import to named imports" + } + } +] -- cgit v1.2.3