-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathltre.vim
More file actions
45 lines (42 loc) · 2.42 KB
/
ltre.vim
File metadata and controls
45 lines (42 loc) · 2.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
setlocal commentstring=(\ %s\ ){}
setlocal comments=sb:(,mb:\|,e:){}
setlocal indentexpr=-1 indentkeys=
" keep in sync with grammar.bnf and ltre.c
syntax match ltreLiteralChar '[^\\\-.~\[\]<>%{}*+?:|&=!( )\x00-\x20\x7f-\xff]'
syntax match ltreMetaEscape '\\[\\\-.~\[\]<>%{}*+?:|&=!( )]'hs=s+1
syntax match ltreSymMetaEsc '\\[\\\-.~\[\]<>%{}*+?:|&=!( )]'he=e-1 contained
syntax match ltreSimpleEscape '\\[bfnrtve]'
syntax match ltreHexEscape '\\x\x\x'
syntax match ltreSymsetCompl '\~\_[[:space:]]*\([^\\]\|\\[^x]\|\\x\x\x\)' " moved up for lower priority
syntax match ltreCharRange '\~\?\_[[:space:]]*\([^\\]\|\\[^x]\|\\x\x\x\)-\([^\\]\|\\[^x]\|\\x\x\x\)'
syntax match ltreSymsetWild '\~\?\_[[:space:]]*\.'
syntax match ltreShorthand '\~\?\_[[:space:]]*\\[mMaAkKcCdDgGlLpPqQsSuUhHzZ]'
syntax region ltreSymsetUnion matchgroup=PreProc start='\~\?\_[[:space:]]*\[' skip='\\.' end='[\]>%{}*+?:|&=!()]'
\ keepend extend contains=ltreSymMetaEsc,ltreSimpleEscape,ltreHexEscape,ltreCharRange,
\ ltreSymsetWild,ltreSymsetCompl,ltreShorthand,ltreSymsetUnion,ltreSymsetInter
syntax region ltreSymsetInter matchgroup=PreProc start='\~\?\_[[:space:]]*<' skip='\\.' end='[\]>%{}*+?:|&=!()]'
\ keepend extend contains=ltreSymMetaEsc,ltreSimpleEscape,ltreHexEscape,ltreCharRange,
\ ltreSymsetWild,ltreSymsetCompl,ltreShorthand,ltreSymsetUnion,ltreSymsetInter
syntax match ltreWildcard '%'
syntax match ltreDualConcat ':' " moved up for lower priority
syntax match ltreQuantifier ':\?\([*+?]\|{\d*\(,\d*\)\?}\)!\?'
syntax match ltreBooleanOp '[|&=!]'
syntax region ltreComment start='(\s' end='){}' contains=ltreTodo
syntax keyword ltreTodo TODO FIXME XXX NOTE contained
highlight default link ltreLiteralChar Character
highlight default link ltreMetaEscape Character
highlight default link ltreSymMetaEsc Default
highlight default link ltreSimpleEscape SpecialChar
highlight default link ltreHexEscape SpecialChar
highlight default link ltreCharRange Identifier
highlight default link ltreSymsetWild Identifier
highlight default link ltreShorthand Identifier
highlight default link ltreSymsetCompl Identifier
highlight default link ltreSymsetUnion PreProc
highlight default link ltreSymsetInter PreProc
highlight default link ltreWildcard Keyword
highlight default link ltreQuantifier Repeat
highlight default link ltreDualConcat Operator
highlight default link ltreBooleanOp Operator
highlight default link ltreComment Comment
highlight default link ltreTodo Todo