Skip to content

Commit 285385b

Browse files
committed
Fix octal escapes and back references
1 parent a8ae0da commit 285385b

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

syntax/clojure.vim

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ syntax match clojureDispatch "\v#[\^'=<_]?"
7575
" Clojure permits no more than 20 params.
7676
syntax match clojureAnonArg "%\(20\|1\d\|[1-9]\|&\)\?"
7777

78-
syntax match clojureRegexpEscape "\v\\{2}|\\%([tnrfae]|c[A-Z]|0%([0-7]{1,2}|[0-3][0-7]{2})|x\x{2}|u\x{4})" contained
78+
syntax match clojureRegexpEscape "\v\\%([tnrfae]|c[A-Z]|0[0-3]?[0-7]{1,2}|x\x{2}|u\x{4})?" contained
7979
" Charactar classes
8080
syntax match clojureRegexpPredefinedCharClass "\\[dDsSwW]" contained
8181
syntax match clojureRegexpPosixCharClass "\v\\[pP]\{%(Lower|Upper|ASCII|Alpha|Digit|Alnum|Punct|Graph|Print|Blank|Cntrl|XDigit|Space|IsLatin|InGreek|Lu|IsAlphabetic|Sc|java%(LowerCase|UpperCase|Whitespace|Mirrored))\}" contained
@@ -89,15 +89,15 @@ syntax match clojureRegexpQuantifier "\v\\@<![?*+]\??" contained
8989
syntax match clojureRegexpQuantifier "\v\\@<!\{\d+%(,|,\d+)?}\??" contained
9090
syntax match clojureRegexpOr "\v\<@!\|" contained
9191
" Back references
92-
syntax match clojureRegexpBackRef "\v\\%(\d+|k\<[a-zA-z]+\>)" contained
92+
syntax match clojureRegexpBackRef "\v\\%([1-9]\d*|k\<[a-zA-z]+\>)" contained
9393
" Mode modifiers, mode-modified spans, lookaround, regular and atomic
9494
" grouping, and named-capturing.
9595
syntax match clojureRegexpMod "\v\(@<=\?[xdsmiu]*%(-[xdsmiu]*)?:?" contained
9696
syntax match clojureRegexpMod "\v\(@<=\?[=!>]" contained
9797
syntax match clojureRegexpMod "\v\(@<=\?\<[a-zA-Z]+\>" contained
9898

9999
syntax region clojureRegexpGroup start="\\\@<!(" matchgroup=clojureRegexpGroup end="\\\@<!)" contained contains=clojureRegexpMod,clojureRegexpQuantifier,@clojureRegexpCharClasses
100-
syntax region clojureRegexp start=/\#"/ skip=/\\"/ end=/"/ contains=clojureRegexpSpecialChar,@clojureRegexpCharClasses,clojureRegexpBoundary,clojureRegexpQuantifier,clojureRegexpOr,clojureRegexpBackRef,clojureRegexpGroup
100+
syntax region clojureRegexp start=/\#"/ skip=/\\"/ end=/"/ contains=clojureRegexpEscape,@clojureRegexpCharClasses,clojureRegexpBoundary,clojureRegexpQuantifier,clojureRegexpOr,clojureRegexpBackRef,clojureRegexpGroup
101101

102102
syntax match clojureComment ";.*$" contains=clojureTodo,@Spell
103103
syntax match clojureComment "#!.*$"

0 commit comments

Comments
 (0)