aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Freiberg <[email protected]>2020-07-21 18:47:27 +0100
committerTimo Freiberg <[email protected]>2020-07-22 16:36:54 +0100
commit1b5a74ef18389f7d1a90cb6945a17bc412f707b4 (patch)
tree2c2153254d5987b0f7e668fda18febc25cd3a1bb
parente72c6220cda30ebe2bde4e0bd7d344c248332ecc (diff)
Fix snippetTextEdits applying to other files
vscode.window.visibleTextEditors only contains editors whose contents are being displayed at the moment, so the previous logic only worked if the other file for which a snippetTextEdit is being received was visible in a separate split.
-rw-r--r--editors/code/src/snippets.ts4
1 files changed, 4 insertions, 0 deletions
diff --git a/editors/code/src/snippets.ts b/editors/code/src/snippets.ts
index bcb3f2cc7..258b49982 100644
--- a/editors/code/src/snippets.ts
+++ b/editors/code/src/snippets.ts
@@ -6,6 +6,10 @@ export async function applySnippetWorkspaceEdit(edit: vscode.WorkspaceEdit) {
6 assert(edit.entries().length === 1, `bad ws edit: ${JSON.stringify(edit)}`); 6 assert(edit.entries().length === 1, `bad ws edit: ${JSON.stringify(edit)}`);
7 const [uri, edits] = edit.entries()[0]; 7 const [uri, edits] = edit.entries()[0];
8 8
9 if (vscode.window.activeTextEditor?.document.uri !== uri) {
10 // `vscode.window.visibleTextEditors` only contains editors whose contents are being displayed
11 await vscode.window.showTextDocument(uri, {});
12 }
9 const editor = vscode.window.visibleTextEditors.find((it) => it.document.uri.toString() === uri.toString()); 13 const editor = vscode.window.visibleTextEditors.find((it) => it.document.uri.toString() === uri.toString());
10 if (!editor) return; 14 if (!editor) return;
11 await applySnippetTextEdits(editor, edits); 15 await applySnippetTextEdits(editor, edits);