diff options
author | Lukas Wirth <[email protected]> | 2020-12-29 14:43:17 +0000 |
---|---|---|
committer | Lukas Wirth <[email protected]> | 2020-12-29 14:43:17 +0000 |
commit | 689898e4f6588a353e7c0b74a0dede8dda9c917a (patch) | |
tree | 3effe63dbbe75a0d5f8f838f3c2733839f105240 | |
parent | 77ad203a719be074e81485af7a4fb02fac6cbf61 (diff) |
Apply text edits manually in vscode client
-rw-r--r-- | editors/code/src/commands.ts | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/editors/code/src/commands.ts b/editors/code/src/commands.ts index 9d4823a34..b12e134ca 100644 --- a/editors/code/src/commands.ts +++ b/editors/code/src/commands.ts | |||
@@ -469,8 +469,14 @@ export function resolveCodeAction(ctx: Ctx): Cmd { | |||
469 | if (!item.edit) { | 469 | if (!item.edit) { |
470 | return; | 470 | return; |
471 | } | 471 | } |
472 | const edit = client.protocol2CodeConverter.asWorkspaceEdit(item.edit); | 472 | const itemEdit = item.edit; |
473 | await vscode.workspace.applyEdit(edit); | 473 | const edit = client.protocol2CodeConverter.asWorkspaceEdit(itemEdit); |
474 | // filter out all text edits and recreate the WorkspaceEdit without them so we can apply | ||
475 | // snippet edits on our own | ||
476 | const itemEditWithoutTextEdits = { ...item, documentChanges: itemEdit.documentChanges?.filter(change => "kind" in change) }; | ||
477 | const editWithoutTextEdits = client.protocol2CodeConverter.asWorkspaceEdit(itemEditWithoutTextEdits); | ||
478 | await applySnippetWorkspaceEdit(edit); | ||
479 | await vscode.workspace.applyEdit(editWithoutTextEdits); | ||
474 | }; | 480 | }; |
475 | } | 481 | } |
476 | 482 | ||