@@ -38,7 +38,7 @@ syntax match clojureKeyword "\v<:{1,2}%([^ \n\r\t()\[\]{}";@^`~\\%/]+/)*[^ \n\r\
3838
3939syntax match clojureStringEscape " \v\\ %([\\ btnfr"]|u\x {4}|[0-3]\o {2}|\o {1,2})" contained
4040
41- syntax region clojureString start =/ "/ skip =/ \\ "/ end =/ "/ contains =clojureStringEscape
41+ syntax region clojureString start =/ "/ skip =/ \\\\\| \\ "/ end =/ "/ contains =clojureStringEscape
4242
4343syntax match clojureCharacter " \\ ."
4444syntax match clojureCharacter " \\ o\% ([0-3]\o\{ 2\}\|\o\{ 1,2\}\) "
@@ -79,8 +79,8 @@ syntax match clojureAnonArg "%\(20\|1\d\|[1-9]\|&\)\?"
7979" characters ".", "+", "*", "?", "{", "}", "[", "]", "(", and ")" with a "\"
8080" forms a legal escape sequence.
8181syntax match clojureRegexpEscape " \v\\ %(\\ |[tnrfae]|c[A-Z]|0[0-3]?[0-7]{1,2}|x\x {2}|u\x {4}|[.+*?{}[\] ()])" contained
82- syntax region clojureRegexpQuote start =" \v\< @!\\ Q" end =" \\ E"
83- syntax cluster clojureRegexpEscapes contains =clojureRegexpEscape,clojureRegexpQuote
82+ syntax region clojureRegexpQuoted start =/ \v\< @!\\ Q/ ms = e + 1 skip = / \v\\\\ | \\ " / end =/ \\ E/ me = s - 1 end = / " / me = s - 1 contained
83+ syntax region clojureRegexpQuote start = / \v\< @! \\ Q / skip = / \v\\\\ | \\ " / end = / \\ E / end = / " / me = s - 1 contains =clojureRegexpQuoted keepend contained
8484" Charactar classes
8585syntax match clojureRegexpPredefinedCharClass " \v %(\\ [dDsSwW]|\. )" contained
8686" XXX: Should we distinguish between posix, java, and unicode character
@@ -104,8 +104,8 @@ syntax match clojureRegexpMod "\v\(@<=\?[xdsmiuU]*-?[xdsmiuU]+:?" contained
104104syntax match clojureRegexpMod " \v\( @<=\? %(\< ?[=!]|\> )" contained
105105syntax match clojureRegexpMod " \v\( @<=\?\< [a-zA-Z]+\> " contained
106106
107- syntax region clojureRegexpGroup start =" \\\@ <!(" matchgroup =clojureRegexpGroup end =" \\\@ <!)" contained contains =clojureRegexpMod,clojureRegexpQuantifier,clojureRegexpBoundary,@clojureRegexpEscapes ,@clojureRegexpCharClasses
108- syntax region clojureRegexp start =/ \# "/ skip =/ \\ "/ end =/ "/ contains =@clojureRegexpEscapes,@ clojureRegexpCharClasses,clojureRegexpBoundary,clojureRegexpQuantifier,clojureRegexpOr,clojureRegexpBackRef,clojureRegexpGroup
107+ syntax region clojureRegexpGroup start =" \\\@ <!(" matchgroup =clojureRegexpGroup end =" \\\@ <!)" contained contains =clojureRegexpMod,clojureRegexpQuantifier,clojureRegexpBoundary,clojureRegexpEscape ,@clojureRegexpCharClasses
108+ syntax region clojureRegexp start =/ \# "/ skip =/ \\\\\|\\ "/ end =/ "/ contains =@clojureRegexpCharClasses,clojureRegexpEscape,clojureRegexpQuote, clojureRegexpBoundary,clojureRegexpQuantifier,clojureRegexpOr,clojureRegexpBackRef,clojureRegexpGroup keepend
109109
110110syntax match clojureComment " ;.*$" contains =clojureTodo,@Spell
111111syntax match clojureComment " #!.*$"
@@ -131,7 +131,6 @@ highlight default link clojureStringEscape Character
131131
132132highlight default link clojureRegexp Constant
133133highlight default link clojureRegexpEscape Character
134- highlight default link clojureRegexpQuote Character
135134highlight default link clojureRegexpCharClass SpecialChar
136135highlight default link clojureRegexpPosixCharClass SpecialChar
137136highlight default link clojureRegexpPredefinedCharClass SpecialChar
@@ -141,6 +140,8 @@ highlight default link clojureRegexpMod SpecialChar
141140highlight default link clojureRegexpOr SpecialChar
142141highlight default link clojureRegexpBackRef SpecialChar
143142highlight default link clojureRegexpGroup clojureRegexp
143+ highlight default link clojureRegexpQuoted clojureRegexp
144+ highlight default link clojureRegexpQuote clojureRegexpEscape
144145
145146highlight default link clojureVariable Identifier
146147highlight default link clojureCond Conditional
0 commit comments