aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2020-10-17 23:38:04 +0100
committerGitHub <[email protected]>2020-10-17 23:38:04 +0100
commit63956e509eea1aba1a303c58bf60d068863a61dd (patch)
treec696fba1395b93b357e543e0cd69bbe4977f3889
parent783c6a333acc3c05839f8c4bfa3174665a32abc6 (diff)
parentc2335d0cb2aee42ae70e94c005cdb5d2ae418cd1 (diff)
Merge #6248
6248: Textmate grammar: prevent early termination of raw strings with hash (closes #6042) r=matklad a=dustypomerleau Problematic sample code from #6042: ```rust #[derive(Debug, Clone, Logos)] enum Quoted<'source> { #[regex(r#"[^\\"']+"#)] Text(&'source str), #[token("\\")] StartEscape, #[token("\'", |_| Quote::Single)] #[token("\"", |_| Quote::Double)] End(Quote), #[error] Error, } ``` Before fix: <img width="400" alt="Screen Shot 2020-10-16 at 10 45 59" src="https://user-images.githubusercontent.com/6304651/96198390-6a726d00-0fa0-11eb-8428-e76b2866836b.png"> After fix: <img width="400" alt="Screen Shot 2020-10-16 at 10 45 33" src="https://user-images.githubusercontent.com/6304651/96198408-7a8a4c80-0fa0-11eb-9104-ca708009fe63.png"> Co-authored-by: Dusty Pomerleau <[email protected]>
-rw-r--r--editors/code/rust.tmGrammar.json25
1 files changed, 22 insertions, 3 deletions
diff --git a/editors/code/rust.tmGrammar.json b/editors/code/rust.tmGrammar.json
index 3ddd14f9c..66c8843f4 100644
--- a/editors/code/rust.tmGrammar.json
+++ b/editors/code/rust.tmGrammar.json
@@ -966,9 +966,28 @@
966 ] 966 ]
967 }, 967 },
968 { 968 {
969 "comment": "double-quoted raw strings and raw byte strings", 969 "comment": "double-quoted raw strings and raw byte strings (no hash)",
970 "name": "string.quoted.double.rust", 970 "name": "string.quoted.double.rust",
971 "begin": "(b?r)(#*)(\")", 971 "begin": "(b?r)(\")",
972 "beginCaptures": {
973 "1": {
974 "name": "string.quoted.byte.raw.rust"
975 },
976 "2": {
977 "name": "punctuation.definition.string.rust"
978 }
979 },
980 "end": "\"",
981 "endCaptures": {
982 "0": {
983 "name": "punctuation.definition.string.rust"
984 }
985 }
986 },
987 {
988 "comment": "double-quoted raw strings and raw byte strings (with hash)",
989 "name": "string.quoted.double.rust",
990 "begin": "(b?r)(#+)(\")",
972 "beginCaptures": { 991 "beginCaptures": {
973 "1": { 992 "1": {
974 "name": "string.quoted.byte.raw.rust" 993 "name": "string.quoted.byte.raw.rust"
@@ -980,7 +999,7 @@
980 "name": "punctuation.definition.string.rust" 999 "name": "punctuation.definition.string.rust"
981 } 1000 }
982 }, 1001 },
983 "end": "(\")(#*)", 1002 "end": "(\")(#+)",
984 "endCaptures": { 1003 "endCaptures": {
985 "1": { 1004 "1": {
986 "name": "punctuation.definition.string.rust" 1005 "name": "punctuation.definition.string.rust"