blob: c859a2f8159aa45034e9944c5c73b4b22f240d03 [file] [log] [blame]
Bram Moolenaar1aeaf8c2012-05-18 13:46:39 +02001" Vim syntax file
2" Language: Zimbu
3" Maintainer: Bram Moolenaar
Bram Moolenaarc8734422012-06-01 22:38:45 +02004" Last Change: 2012 Jun 01
Bram Moolenaar1aeaf8c2012-05-18 13:46:39 +02005
6if exists("b:current_syntax")
7 finish
8endif
9
10syn include @Ccode syntax/c.vim
11
12syn keyword zimbuTodo TODO FIXME XXX contained
13syn match zimbuNoBar "|" contained
14syn match zimbuParam "|[^| ]\+|" contained contains=zimbuNoBar
15syn match zimbuComment "#.*$" contains=zimbuTodo,zimbuParam,@Spell
16
17syn match zimbuChar "'\\\=.'"
18
19syn keyword zimbuBasicType bool status
20syn keyword zimbuBasicType int1 int2 int3 int4 int5 int6 int7
21syn keyword zimbuBasicType int9 int10 int11 int12 int13 int14 int15
22syn keyword zimbuBasicType int int8 int16 int32 int64 bigInt
23syn keyword zimbuBasicType nat nat8 byte nat16 nat32 nat64 bigNat
24syn keyword zimbuBasicType nat1 nat2 nat3 nat4 nat5 nat6 nat7
25syn keyword zimbuBasicType nat9 nat10 nat11 nat12 nat13 nat14 nat15
26syn keyword zimbuBasicType float float32 float64 float80 float128
27syn keyword zimbuBasicType fixed1 fixed2 fixed3 fixed4 fixed5 fixed6
28syn keyword zimbuBasicType fixed7 fixed8 fixed9 fixed10 fixed11 fixed12
29syn keyword zimbuBasicType fixed13 fixed14 fixed15
30
31syn keyword zimbuCompType string stringval cstring varstring
32syn keyword zimbuCompType bytes varbytes
33syn keyword zimbuCompType tuple array list dict multiDict set multiSet
34syn keyword zimbuCompType complex complex32 complex64 complex80 complex128
35syn keyword zimbuCompType proc func def thread evalThread lock cond pipe
36
37syn keyword zimbuType VAR ANY USE GET
38syn match zimbuType "IO.File"
39syn match zimbuType "IO.Stat"
40
41syn keyword zimbuStatement IF ELSE ELSEIF WHILE REPEAT FOR IN TO STEP
42syn keyword zimbuStatement DO UNTIL SWITCH WITH
43syn keyword zimbuStatement TRY CATCH FINALLY
44syn keyword zimbuStatement GENERATE_IF GENERATE_ELSE GENERATE_ELSEIF
45syn keyword zimbuStatement CASE DEFAULT FINAL ABSTRACT VIRTUAL DEFINE REPLACE
46syn keyword zimbuStatement IMPLEMENTS EXTENDS PARENT LOCAL
47syn keyword zimbuStatement PART ALIAS CONNECT WRAP
48syn keyword zimbuStatement BREAK CONTINUE PROCEED
49syn keyword zimbuStatement RETURN EXIT THROW
50syn keyword zimbuStatement IMPORT AS OPTIONS MAIN
51syn keyword zimbuStatement INTERFACE MODULE ENUM BITS SHARED
52syn match zimbuStatement "\<\(FUNC\|PROC\|DEF\)\>"
53syn match zimbuStatement "\<CLASS\>"
54syn match zimbuStatement "}"
55
56syn match zimbuAttribute "@backtrace=no\>"
57syn match zimbuAttribute "@backtrace=yes\>"
58syn match zimbuAttribute "@abstract\>"
59syn match zimbuAttribute "@earlyInit\>"
60syn match zimbuAttribute "@default\>"
61syn match zimbuAttribute "@define\>"
62syn match zimbuAttribute "@replace\>"
63syn match zimbuAttribute "@final\>"
64
65syn match zimbuAttribute "@private\>"
66syn match zimbuAttribute "@protected\>"
67syn match zimbuAttribute "@public\>"
68syn match zimbuAttribute "@file\>"
69syn match zimbuAttribute "@directory\>"
70syn match zimbuAttribute "@read=private\>"
71syn match zimbuAttribute "@read=protected\>"
72syn match zimbuAttribute "@read=public\>"
73syn match zimbuAttribute "@read=file\>"
74syn match zimbuAttribute "@read=directory\>"
75syn match zimbuAttribute "@items=private\>"
76syn match zimbuAttribute "@items=protected\>"
77syn match zimbuAttribute "@items=public\>"
78syn match zimbuAttribute "@items=file\>"
79syn match zimbuAttribute "@items=directory\>"
80
81syn keyword zimbuMethod NEW EQUAL COPY COMPARE SIZE GET SET
82
83syn keyword zimbuOperator IS ISNOT ISA ISNOTA
84
85syn keyword zimbuModule ARG CHECK E IO PROTO SYS HTTP ZC ZWT TIME THREAD
86
87syn match zimbuString +"\([^"\\]\|\\.\)*\("\|$\)+
88syn match zimbuString +R"\([^"]\|""\)*\("\|$\)+
89syn region zimbuString start=+'''+ end=+'''+
90
91syn keyword zimbuFixed TRUE FALSE NIL THIS THISTYPE FAIL OK
92syn keyword zimbuError NULL
93
94" trailing whitespace
95syn match zimbuSpaceError display excludenl "\S\s\+$"ms=s+1
96" mixed tabs and spaces
97syn match zimbuSpaceError display " \+\t"
98syn match zimbuSpaceError display "\t\+ "
99
100syn match zimbuUses contained "uses([a-zA-Z_ ,]*)"
101syn match zimbuBlockComment contained " #.*"
102
103syn region zimbuCregion matchgroup=zimbuCblock start="^>>>" end="^<<<.*" contains=@Ccode,zimbuUses,zimbuBlockComment keepend
104
105syn sync minlines=2000
106
107hi def link zimbuBasicType Type
108hi def link zimbuCompType Type
109hi def link zimbuType Type
110hi def link zimbuStatement Statement
111hi def link zimbuOperator Statement
112hi def link zimbuMethod PreProc
113hi def link zimbuModule PreProc
114hi def link zimbuUses PreProc
115hi def link zimbuAttribute PreProc
116hi def link zimbuString Constant
117hi def link zimbuChar Constant
118hi def link zimbuFixed Constant
119hi def link zimbuComment Comment
120hi def link zimbuBlockComment Comment
121hi def link zimbuCblock Comment
122hi def link zimbuTodo Todo
123hi def link zimbuParam Constant
124hi def link zimbuNoBar Ignore
125hi def link zimbuSpaceError Error
126hi def link zimbuError Error
127
128let b:current_syntax = "zimbu"
129
130" vim: ts=8