summaryrefslogtreecommitdiff
path: root/syntax/kpl.vim
blob: 496fc80a67acd183514f01e099392da06eed605c (plain)
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

syn match kplOperator "[~!$%&*\-+=|:'<,>\./]\|`[a-z]\w*" contains=@NoSpell
hi def link kplOperator Operator

syn match kplTodo contained "\<TODO\>" contains=@NoSpell
syn match kplCommentLine "\/\/.*$" contains=kplTodo
syn region kplCommentRange start="/\*" end="\*/" contains=kplTodo
hi def link kplTodo TODO
hi def link kplCommentLine Comment
hi def link kplCommentRange Comment

syn match kplSemicolon ";"
hi def link kplSemicolon Comment

syn match kplNumber "\%(\d_\d\|\d\)\+\%(\.\%(\d_\d\|\d\)\+\)\?"
hi def link kplNumber Number

syn region kplString start=/"/ skip=/\\\\"/ end=/"/
hi def link kplString String

syn match kplVar "[a-z]\w*" contains=@NoSpell
hi def link kplVar Ignore

syn match kplIgnore "\<_\w*" contains=@NoSpell
hi def link kplIgnore Comment

syn match kplSymbol "\.\w\+" contains=@NoSpell
hi def link kplSymbol Identifier

syn match kplType "[A-Z]\w*" contains=@NoSpell
hi def link kplType Type

syn match kplQualifiers "Const\|Empty\|Lock\|Ref" contains=@NoSpell
hi def link kplQualifiers Repeat

syn match kplDefine "\[\|\]"
hi def link kplDefine Define

syn match kplList "[()]"
hi def link kplList Special

syn match kplAction "[?@#^{}]"
hi def link kplAction Function