about summary refs log tree commit diff
path: root/editors/code
diff options
context:
space:
mode:
authorLaurențiu Nicola <lnicola@dend.ro>2022-04-08 14:24:28 +0300
committerLaurențiu Nicola <lnicola@dend.ro>2022-04-08 14:24:28 +0300
commitbfa2a08da1fb7704cd95eec7111977d5d8f60ddc (patch)
treea750257fcae8959b6f90a20ea22daf17574cd648 /editors/code
parentd3d62671127daf1b1cc13e040b61f1ec715fd29b (diff)
downloadrust-bfa2a08da1fb7704cd95eec7111977d5d8f60ddc.tar.gz
rust-bfa2a08da1fb7704cd95eec7111977d5d8f60ddc.zip
Update for languageclient API changes
Diffstat (limited to 'editors/code')
-rw-r--r--editors/code/src/client.ts6
-rw-r--r--editors/code/src/commands.ts16
2 files changed, 11 insertions, 11 deletions
diff --git a/editors/code/src/client.ts b/editors/code/src/client.ts
index 26567c6df3c..f7520f6c436 100644
--- a/editors/code/src/client.ts
+++ b/editors/code/src/client.ts
@@ -90,9 +90,9 @@ export function createClient(serverPath: string, workspace: Workspace, extraEnv:
                 const params: lc.CodeActionParams = {
                     textDocument: client.code2ProtocolConverter.asTextDocumentIdentifier(document),
                     range: client.code2ProtocolConverter.asRange(range),
-                    context: client.code2ProtocolConverter.asCodeActionContext(context)
+                    context: await client.code2ProtocolConverter.asCodeActionContext(context, token)
                 };
-                return client.sendRequest(lc.CodeActionRequest.type, params, token).then((values) => {
+                return client.sendRequest(lc.CodeActionRequest.type, params, token).then(async (values) => {
                     if (values === null) return undefined;
                     const result: (vscode.CodeAction | vscode.Command)[] = [];
                     const groups = new Map<string, { index: number; items: vscode.CodeAction[] }>();
@@ -100,7 +100,7 @@ export function createClient(serverPath: string, workspace: Workspace, extraEnv:
                         // In our case we expect to get code edits only from diagnostics
                         if (lc.CodeAction.is(item)) {
                             assert(!item.command, "We don't expect to receive commands in CodeActions");
-                            const action = client.protocol2CodeConverter.asCodeAction(item);
+                            const action = await client.protocol2CodeConverter.asCodeAction(item, token);
                             result.push(action);
                             continue;
                         }
diff --git a/editors/code/src/commands.ts b/editors/code/src/commands.ts
index 5581aac22f6..4b2ac448018 100644
--- a/editors/code/src/commands.ts
+++ b/editors/code/src/commands.ts
@@ -127,8 +127,8 @@ export function joinLines(ctx: Ctx): Cmd {
             ranges: editor.selections.map((it) => client.code2ProtocolConverter.asRange(it)),
             textDocument: ctx.client.code2ProtocolConverter.asTextDocumentIdentifier(editor.document),
         });
-        await editor.edit((builder) => {
-            client.protocol2CodeConverter.asTextEdits(items).forEach((edit: any) => {
+        await editor.edit(async (builder) => {
+            (await client.protocol2CodeConverter.asTextEdits(items)).forEach((edit: any) => {
                 builder.replace(edit.range, edit.newText);
             });
         });
@@ -157,7 +157,7 @@ export function moveItem(ctx: Ctx, direction: ra.Direction): Cmd {
 
         if (!lcEdits) return;
 
-        const edits = client.protocol2CodeConverter.asTextEdits(lcEdits);
+        const edits = await client.protocol2CodeConverter.asTextEdits(lcEdits);
         await applySnippetTextEdits(editor, edits);
     };
 }
@@ -180,7 +180,7 @@ export function onEnter(ctx: Ctx): Cmd {
         });
         if (!lcEdits) return false;
 
-        const edits = client.protocol2CodeConverter.asTextEdits(lcEdits);
+        const edits = await client.protocol2CodeConverter.asTextEdits(lcEdits);
         await applySnippetTextEdits(editor, edits);
         return true;
     }
@@ -277,12 +277,12 @@ export function ssr(ctx: Ctx): Cmd {
             location: vscode.ProgressLocation.Notification,
             title: "Structured search replace in progress...",
             cancellable: false,
-        }, async (_progress, _token) => {
+        }, async (_progress, token) => {
             const edit = await client.sendRequest(ra.ssr, {
                 query: request, parseOnly: false, textDocument, position, selections,
             });
 
-            await vscode.workspace.applyEdit(client.protocol2CodeConverter.asWorkspaceEdit(edit));
+            await vscode.workspace.applyEdit(await client.protocol2CodeConverter.asWorkspaceEdit(edit, token));
         });
     };
 }
@@ -728,11 +728,11 @@ export function resolveCodeAction(ctx: Ctx): Cmd {
             return;
         }
         const itemEdit = item.edit;
-        const edit = client.protocol2CodeConverter.asWorkspaceEdit(itemEdit);
+        const edit = await client.protocol2CodeConverter.asWorkspaceEdit(itemEdit);
         // filter out all text edits and recreate the WorkspaceEdit without them so we can apply
         // snippet edits on our own
         const lcFileSystemEdit = { ...itemEdit, documentChanges: itemEdit.documentChanges?.filter(change => "kind" in change) };
-        const fileSystemEdit = client.protocol2CodeConverter.asWorkspaceEdit(lcFileSystemEdit);
+        const fileSystemEdit = await client.protocol2CodeConverter.asWorkspaceEdit(lcFileSystemEdit);
         await vscode.workspace.applyEdit(fileSystemEdit);
         await applySnippetWorkspaceEdit(edit);
     };