aboutsummaryrefslogtreecommitdiff
path: root/editors
diff options
context:
space:
mode:
Diffstat (limited to 'editors')
-rw-r--r--editors/code/rust.tmGrammar.json2
-rw-r--r--editors/code/src/util.ts9
2 files changed, 6 insertions, 5 deletions
diff --git a/editors/code/rust.tmGrammar.json b/editors/code/rust.tmGrammar.json
index cdcd557dc..ab87cd39f 100644
--- a/editors/code/rust.tmGrammar.json
+++ b/editors/code/rust.tmGrammar.json
@@ -207,7 +207,7 @@
207 { 207 {
208 "comment": "Miscellaneous operator", 208 "comment": "Miscellaneous operator",
209 "name": "keyword.operator.misc.rust", 209 "name": "keyword.operator.misc.rust",
210 "match": "(=>|::)" 210 "match": "(=>|::|\\?)"
211 }, 211 },
212 { 212 {
213 "comment": "Comparison operator", 213 "comment": "Comparison operator",
diff --git a/editors/code/src/util.ts b/editors/code/src/util.ts
index 127a9e911..793c481fb 100644
--- a/editors/code/src/util.ts
+++ b/editors/code/src/util.ts
@@ -74,10 +74,11 @@ export type RustDocument = vscode.TextDocument & { languageId: "rust" };
74export type RustEditor = vscode.TextEditor & { document: RustDocument }; 74export type RustEditor = vscode.TextEditor & { document: RustDocument };
75 75
76export function isRustDocument(document: vscode.TextDocument): document is RustDocument { 76export function isRustDocument(document: vscode.TextDocument): document is RustDocument {
77 return document.languageId === 'rust' 77 // Prevent corrupted text (particularly via inlay hints) in diff views
78 // SCM diff views have the same URI as the on-disk document but not the same content 78 // by allowing only `file` schemes
79 && document.uri.scheme !== 'git' 79 // unfortunately extensions that use diff views not always set this
80 && document.uri.scheme !== 'svn'; 80 // to something different than 'file' (see ongoing bug: #4608)
81 return document.languageId === 'rust' && document.uri.scheme === 'file';
81} 82}
82 83
83export function isRustEditor(editor: vscode.TextEditor): editor is RustEditor { 84export function isRustEditor(editor: vscode.TextEditor): editor is RustEditor {