Skip to content

Commit bfa2a08

Browse files
committed
Update for languageclient API changes
1 parent d3d6267 commit bfa2a08

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

editors/code/src/client.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,17 +90,17 @@ export function createClient(serverPath: string, workspace: Workspace, extraEnv:
9090
const params: lc.CodeActionParams = {
9191
textDocument: client.code2ProtocolConverter.asTextDocumentIdentifier(document),
9292
range: client.code2ProtocolConverter.asRange(range),
93-
context: client.code2ProtocolConverter.asCodeActionContext(context)
93+
context: await client.code2ProtocolConverter.asCodeActionContext(context, token)
9494
};
95-
return client.sendRequest(lc.CodeActionRequest.type, params, token).then((values) => {
95+
return client.sendRequest(lc.CodeActionRequest.type, params, token).then(async (values) => {
9696
if (values === null) return undefined;
9797
const result: (vscode.CodeAction | vscode.Command)[] = [];
9898
const groups = new Map<string, { index: number; items: vscode.CodeAction[] }>();
9999
for (const item of values) {
100100
// In our case we expect to get code edits only from diagnostics
101101
if (lc.CodeAction.is(item)) {
102102
assert(!item.command, "We don't expect to receive commands in CodeActions");
103-
const action = client.protocol2CodeConverter.asCodeAction(item);
103+
const action = await client.protocol2CodeConverter.asCodeAction(item, token);
104104
result.push(action);
105105
continue;
106106
}

editors/code/src/commands.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ export function joinLines(ctx: Ctx): Cmd {
127127
ranges: editor.selections.map((it) => client.code2ProtocolConverter.asRange(it)),
128128
textDocument: ctx.client.code2ProtocolConverter.asTextDocumentIdentifier(editor.document),
129129
});
130-
await editor.edit((builder) => {
131-
client.protocol2CodeConverter.asTextEdits(items).forEach((edit: any) => {
130+
await editor.edit(async (builder) => {
131+
(await client.protocol2CodeConverter.asTextEdits(items)).forEach((edit: any) => {
132132
builder.replace(edit.range, edit.newText);
133133
});
134134
});
@@ -157,7 +157,7 @@ export function moveItem(ctx: Ctx, direction: ra.Direction): Cmd {
157157

158158
if (!lcEdits) return;
159159

160-
const edits = client.protocol2CodeConverter.asTextEdits(lcEdits);
160+
const edits = await client.protocol2CodeConverter.asTextEdits(lcEdits);
161161
await applySnippetTextEdits(editor, edits);
162162
};
163163
}
@@ -180,7 +180,7 @@ export function onEnter(ctx: Ctx): Cmd {
180180
});
181181
if (!lcEdits) return false;
182182

183-
const edits = client.protocol2CodeConverter.asTextEdits(lcEdits);
183+
const edits = await client.protocol2CodeConverter.asTextEdits(lcEdits);
184184
await applySnippetTextEdits(editor, edits);
185185
return true;
186186
}
@@ -277,12 +277,12 @@ export function ssr(ctx: Ctx): Cmd {
277277
location: vscode.ProgressLocation.Notification,
278278
title: "Structured search replace in progress...",
279279
cancellable: false,
280-
}, async (_progress, _token) => {
280+
}, async (_progress, token) => {
281281
const edit = await client.sendRequest(ra.ssr, {
282282
query: request, parseOnly: false, textDocument, position, selections,
283283
});
284284

285-
await vscode.workspace.applyEdit(client.protocol2CodeConverter.asWorkspaceEdit(edit));
285+
await vscode.workspace.applyEdit(await client.protocol2CodeConverter.asWorkspaceEdit(edit, token));
286286
});
287287
};
288288
}
@@ -728,11 +728,11 @@ export function resolveCodeAction(ctx: Ctx): Cmd {
728728
return;
729729
}
730730
const itemEdit = item.edit;
731-
const edit = client.protocol2CodeConverter.asWorkspaceEdit(itemEdit);
731+
const edit = await client.protocol2CodeConverter.asWorkspaceEdit(itemEdit);
732732
// filter out all text edits and recreate the WorkspaceEdit without them so we can apply
733733
// snippet edits on our own
734734
const lcFileSystemEdit = { ...itemEdit, documentChanges: itemEdit.documentChanges?.filter(change => "kind" in change) };
735-
const fileSystemEdit = client.protocol2CodeConverter.asWorkspaceEdit(lcFileSystemEdit);
735+
const fileSystemEdit = await client.protocol2CodeConverter.asWorkspaceEdit(lcFileSystemEdit);
736736
await vscode.workspace.applyEdit(fileSystemEdit);
737737
await applySnippetWorkspaceEdit(edit);
738738
};

0 commit comments

Comments
 (0)