Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
7070: Use applySnippetWorkspaceEdit again for actions, allow it to create files r=matklad a=Veykril

Fixes rust-lang#7037

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
  • Loading branch information
bors[bot] and Veykril committed Dec 29, 2020
2 parents 343029f + 689898e commit 386c447
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions editors/code/src/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -469,8 +469,14 @@ export function resolveCodeAction(ctx: Ctx): Cmd {
if (!item.edit) {
return;
}
const edit = client.protocol2CodeConverter.asWorkspaceEdit(item.edit);
await vscode.workspace.applyEdit(edit);
const itemEdit = item.edit;
const edit = 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 itemEditWithoutTextEdits = { ...item, documentChanges: itemEdit.documentChanges?.filter(change => "kind" in change) };
const editWithoutTextEdits = client.protocol2CodeConverter.asWorkspaceEdit(itemEditWithoutTextEdits);
await applySnippetWorkspaceEdit(edit);
await vscode.workspace.applyEdit(editWithoutTextEdits);
};
}

Expand Down

0 comments on commit 386c447

Please sign in to comment.