From 9efc326b9bb126f8d993e06d4fd34efc111e752f Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Thu, 25 Feb 2021 10:43:13 +0100 Subject: [PATCH] fix https://github.com/microsoft/vscode/issues/117594 --- .../src/configurationEditingMain.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/extensions/configuration-editing/src/configurationEditingMain.ts b/extensions/configuration-editing/src/configurationEditingMain.ts index bd8bcb89efc..7656cfdee9f 100644 --- a/extensions/configuration-editing/src/configurationEditingMain.ts +++ b/extensions/configuration-editing/src/configurationEditingMain.ts @@ -180,7 +180,21 @@ function registerContextKeyCompletions(): vscode.Disposable { return; } - const replacing = document.getWordRangeAtPosition(position, /[^"\s]+/); + // for JSON everything with quotes is a word + const jsonWord = document.getWordRangeAtPosition(position); + if (!jsonWord || jsonWord.start.isEqual(position) || jsonWord.end.isEqual(position)) { + // we aren't inside a "JSON word" or on its quotes + return; + } + + let replacing: vscode.Range | undefined; + if (jsonWord.end.character - jsonWord.start.character === 2 || document.getWordRangeAtPosition(position, /\s+/)) { + // empty json word or on whitespace + replacing = new vscode.Range(position, position); + } else { + replacing = document.getWordRangeAtPosition(position, /[a-zA-Z.]+/); + } + if (!replacing) { return; }