From 5740963bc335ed1719a525d21ddfe9cdeb928c00 Mon Sep 17 00:00:00 2001 From: Doug Kearns Date: Mon, 6 Sep 2021 23:22:03 +1000 Subject: [PATCH 1/4] Highlight string escape sequences --- syntax/racket.vim | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/syntax/racket.vim b/syntax/racket.vim index aae6723..b9b6bfe 100644 --- a/syntax/racket.vim +++ b/syntax/racket.vim @@ -497,7 +497,16 @@ syn region racketStruc matchgroup=Delimiter start="\["rs=s+1 matchgroup=Delimite syn region racketStruc matchgroup=Delimiter start="#\["rs=s+2 matchgroup=Delimiter end="\]"re=e-1 contains=@racketNormal " Simple literals -syn region racketString start=/\%(\\\)\@= 508 || !exists("did_racket_syntax_inits") HiLink racketFunc Function HiLink racketString String + HiLink racketStringEscape Special HiLink racketChar Character HiLink racketBoolean Boolean From 148fd0092d73c70277173dd586fc022da3bd6b5b Mon Sep 17 00:00:00 2001 From: Doug Kearns Date: Mon, 6 Sep 2021 23:48:09 +1000 Subject: [PATCH 2/4] Highlight byte strings --- syntax/racket.vim | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/syntax/racket.vim b/syntax/racket.vim index b9b6bfe..394742c 100644 --- a/syntax/racket.vim +++ b/syntax/racket.vim @@ -500,13 +500,15 @@ syn region racketStruc matchgroup=Delimiter start="#\["rs=s+2 matchgroup=Delimit " Strings -syn match racketStringEscape "\\[abtnvfre'"\\]" contained display -syn match racketStringEscape "\\$" contained display -syn match racketStringEscape "\\\o\{1,3}\|\\x\x\{1,2}" contained display -syn match racketStringEscape "\\u\x\{1,4}\|\\U\x\{1,8}" contained display -syn match racketStringEscape "\\u\x\{4}\\u\x\{4}" contained display +syn match racketStringEscape "\\[abtnvfre'"\\]" contained display +syn match racketStringEscape "\\$" contained display +syn match racketStringEscape "\\\o\{1,3}\|\\x\x\{1,2}" contained display -syn region racketString start=/\%(\\\)\@= 508 || !exists("did_racket_syntax_inits") HiLink racketString String HiLink racketStringEscape Special + HiLink racketUStringEscape Special HiLink racketChar Character HiLink racketBoolean Boolean From ab2de1b0d82c21957a5002d1b96e9cd3060cd682 Mon Sep 17 00:00:00 2001 From: Doug Kearns Date: Mon, 6 Sep 2021 23:57:19 +1000 Subject: [PATCH 3/4] Add syntax based folding for here strings --- syntax/racket.vim | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/syntax/racket.vim b/syntax/racket.vim index 394742c..94c34ad 100644 --- a/syntax/racket.vim +++ b/syntax/racket.vim @@ -509,7 +509,13 @@ syn match racketUStringEscape "\\u\x\{4}\\u\x\{4}" contained display syn region racketString start=/\%(\\\)\@ Date: Tue, 7 Sep 2021 01:50:11 +1000 Subject: [PATCH 4/4] Highlight invalid string escape sequences as errors --- syntax/racket.vim | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/syntax/racket.vim b/syntax/racket.vim index 94c34ad..b3b4305 100644 --- a/syntax/racket.vim +++ b/syntax/racket.vim @@ -500,6 +500,8 @@ syn region racketStruc matchgroup=Delimiter start="#\["rs=s+2 matchgroup=Delimit " Strings +syn match racketStringEscapeError "\\." contained display + syn match racketStringEscape "\\[abtnvfre'"\\]" contained display syn match racketStringEscape "\\$" contained display syn match racketStringEscape "\\\o\{1,3}\|\\x\x\{1,2}" contained display @@ -507,8 +509,8 @@ syn match racketStringEscape "\\\o\{1,3}\|\\x\x\{1,2}" contained display syn match racketUStringEscape "\\u\x\{1,4}\|\\U\x\{1,8}" contained display syn match racketUStringEscape "\\u\x\{4}\\u\x\{4}" contained display -syn region racketString start=/\%(\\\)\@= 508 || !exists("did_racket_syntax_inits") HiLink racketString String HiLink racketStringEscape Special HiLink racketUStringEscape Special + HiLink racketStringEscapeError Error HiLink racketChar Character HiLink racketBoolean Boolean