about summary refs log tree commit diff
path: root/editors/code
diff options
context:
space:
mode:
authorAleksey Kladov <aleksey.kladov@gmail.com>2020-05-22 00:28:49 +0200
committerAleksey Kladov <aleksey.kladov@gmail.com>2020-05-22 00:28:49 +0200
commit5ef4ebff2017d7bdfa03f0eccb9960a86c9b94ca (patch)
tree6458549d833ba628fd86d050cb5dd1238c590fc3 /editors/code
parent59732df8d40dfadc6dcf5951265416576399712a (diff)
downloadrust-5ef4ebff2017d7bdfa03f0eccb9960a86c9b94ca.tar.gz
rust-5ef4ebff2017d7bdfa03f0eccb9960a86c9b94ca.zip
Use WorkspaceEdit for ssr
Diffstat (limited to 'editors/code')
-rw-r--r--editors/code/src/commands/ssr.ts6
-rw-r--r--editors/code/src/rust-analyzer-api.ts2
2 files changed, 3 insertions, 5 deletions
diff --git a/editors/code/src/commands/ssr.ts b/editors/code/src/commands/ssr.ts
index 4ef8cdf04f7..5d40a64d28e 100644
--- a/editors/code/src/commands/ssr.ts
+++ b/editors/code/src/commands/ssr.ts
@@ -2,7 +2,6 @@ import * as vscode from 'vscode';
 import * as ra from "../rust-analyzer-api";
 
 import { Ctx, Cmd } from '../ctx';
-import { applySourceChange } from '../source_change';
 
 export function ssr(ctx: Ctx): Cmd {
     return async () => {
@@ -22,11 +21,10 @@ export function ssr(ctx: Ctx): Cmd {
             }
         };
         const request = await vscode.window.showInputBox(options);
-
         if (!request) return;
 
-        const change = await client.sendRequest(ra.ssr, { query: request, parseOnly: false });
+        const edit = await client.sendRequest(ra.ssr, { query: request, parseOnly: false });
 
-        await applySourceChange(ctx, change);
+        await vscode.workspace.applyEdit(client.protocol2CodeConverter.asWorkspaceEdit(edit));
     };
 }
diff --git a/editors/code/src/rust-analyzer-api.ts b/editors/code/src/rust-analyzer-api.ts
index 8ed56c173ee..73f36432f64 100644
--- a/editors/code/src/rust-analyzer-api.ts
+++ b/editors/code/src/rust-analyzer-api.ts
@@ -112,7 +112,7 @@ export interface SsrParams {
     query: string;
     parseOnly: boolean;
 }
-export const ssr = request<SsrParams, SourceChange>("ssr");
+export const ssr = new lc.RequestType<SsrParams, lc.WorkspaceEdit, unknown>('experimental/ssr');
 
 
 export const publishDecorations = notification<PublishDecorationsParams>("publishDecorations");