diff options
Diffstat (limited to 'editors/code')
-rw-r--r-- | editors/code/rust.tmGrammar.json | 2 | ||||
-rw-r--r-- | editors/code/src/util.ts | 9 |
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" }; | |||
74 | export type RustEditor = vscode.TextEditor & { document: RustDocument }; | 74 | export type RustEditor = vscode.TextEditor & { document: RustDocument }; |
75 | 75 | ||
76 | export function isRustDocument(document: vscode.TextDocument): document is RustDocument { | 76 | export 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 | ||
83 | export function isRustEditor(editor: vscode.TextEditor): editor is RustEditor { | 84 | export function isRustEditor(editor: vscode.TextEditor): editor is RustEditor { |