diff options
author | David Lattimore <[email protected]> | 2020-07-29 02:44:01 +0100 |
---|---|---|
committer | David Lattimore <[email protected]> | 2020-07-29 06:06:58 +0100 |
commit | cf55806257776baf7db6b02d260bdaa9e851c7d4 (patch) | |
tree | 6827c094a4a27631ee9b1b97d98a8ac9c0a56aac /editors/code/src/commands.ts | |
parent | 5a8124273dd663f7f1ed43b53defc4a2c52dbc12 (diff) |
SSR: Restrict to current selection if any
The selection is also used to avoid unnecessary work, but only to the
file level. Further restricting unnecessary work is left for later.
Diffstat (limited to 'editors/code/src/commands.ts')
-rw-r--r-- | editors/code/src/commands.ts | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/editors/code/src/commands.ts b/editors/code/src/commands.ts index c21e5597c..d0faf4745 100644 --- a/editors/code/src/commands.ts +++ b/editors/code/src/commands.ts | |||
@@ -190,6 +190,7 @@ export function ssr(ctx: Ctx): Cmd { | |||
190 | if (!editor || !client) return; | 190 | if (!editor || !client) return; |
191 | 191 | ||
192 | const position = editor.selection.active; | 192 | const position = editor.selection.active; |
193 | const selections = editor.selections; | ||
193 | const textDocument = { uri: editor.document.uri.toString() }; | 194 | const textDocument = { uri: editor.document.uri.toString() }; |
194 | 195 | ||
195 | const options: vscode.InputBoxOptions = { | 196 | const options: vscode.InputBoxOptions = { |
@@ -198,7 +199,7 @@ export function ssr(ctx: Ctx): Cmd { | |||
198 | validateInput: async (x: string) => { | 199 | validateInput: async (x: string) => { |
199 | try { | 200 | try { |
200 | await client.sendRequest(ra.ssr, { | 201 | await client.sendRequest(ra.ssr, { |
201 | query: x, parseOnly: true, textDocument, position, | 202 | query: x, parseOnly: true, textDocument, position, selections, |
202 | }); | 203 | }); |
203 | } catch (e) { | 204 | } catch (e) { |
204 | return e.toString(); | 205 | return e.toString(); |
@@ -215,7 +216,7 @@ export function ssr(ctx: Ctx): Cmd { | |||
215 | cancellable: false, | 216 | cancellable: false, |
216 | }, async (_progress, _token) => { | 217 | }, async (_progress, _token) => { |
217 | const edit = await client.sendRequest(ra.ssr, { | 218 | const edit = await client.sendRequest(ra.ssr, { |
218 | query: request, parseOnly: false, textDocument, position | 219 | query: request, parseOnly: false, textDocument, position, selections, |
219 | }); | 220 | }); |
220 | 221 | ||
221 | await vscode.workspace.applyEdit(client.protocol2CodeConverter.asWorkspaceEdit(edit)); | 222 | await vscode.workspace.applyEdit(client.protocol2CodeConverter.asWorkspaceEdit(edit)); |