Use WorkspaceEdit for ssr

This commit is contained in:
Aleksey Kladov
2020-05-22 00:28:49 +02:00
parent 59732df8d4
commit 5ef4ebff20
6 changed files with 43 additions and 9 deletions
+2 -4
View File
@@ -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));
};
}
+1 -1
View File
@@ -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");