xref: /vim-8.2.3635/runtime/syntax/zimbu.vim (revision ed32d942)
11aeaf8c0SBram Moolenaar" Vim syntax file
21aeaf8c0SBram Moolenaar" Language:	Zimbu
31aeaf8c0SBram Moolenaar" Maintainer:	Bram Moolenaar
4*ed32d942SBram Moolenaar" Last Change:	2014 Nov 23
51aeaf8c0SBram Moolenaar
61aeaf8c0SBram Moolenaarif exists("b:current_syntax")
71aeaf8c0SBram Moolenaar  finish
81aeaf8c0SBram Moolenaarendif
91aeaf8c0SBram Moolenaar
101aeaf8c0SBram Moolenaarsyn include @Ccode syntax/c.vim
111aeaf8c0SBram Moolenaar
121aeaf8c0SBram Moolenaarsyn keyword zimbuTodo		TODO FIXME XXX contained
131aeaf8c0SBram Moolenaarsyn match   zimbuNoBar          "|" contained
141aeaf8c0SBram Moolenaarsyn match   zimbuParam  	"|[^| ]\+|" contained contains=zimbuNoBar
15*ed32d942SBram Moolenaarsyn match   zimbuNoBacktick     "`" contained
16*ed32d942SBram Moolenaarsyn match   zimbuCode  		"`[^`]\+`" contained contains=zimbuNoBacktick
17*ed32d942SBram Moolenaarsyn match   zimbuComment	"#.*$" contains=zimbuTodo,zimbuParam,zimbuCode,@Spell
18*ed32d942SBram Moolenaarsyn match   zimbuComment	"/\*.\{-}\*/" contains=zimbuTodo,zimbuParam,zimbuCode,@Spell
191aeaf8c0SBram Moolenaar
201aeaf8c0SBram Moolenaarsyn match   zimbuChar	"'\\\=.'"
211aeaf8c0SBram Moolenaar
221aeaf8c0SBram Moolenaarsyn keyword zimbuBasicType	bool status
231aeaf8c0SBram Moolenaarsyn keyword zimbuBasicType	int1 int2 int3 int4 int5 int6 int7
241aeaf8c0SBram Moolenaarsyn keyword zimbuBasicType	int9 int10 int11 int12 int13 int14 int15
251aeaf8c0SBram Moolenaarsyn keyword zimbuBasicType	int int8 int16 int32 int64 bigInt
261aeaf8c0SBram Moolenaarsyn keyword zimbuBasicType	nat nat8 byte nat16 nat32 nat64 bigNat
271aeaf8c0SBram Moolenaarsyn keyword zimbuBasicType	nat1 nat2 nat3 nat4 nat5 nat6 nat7
281aeaf8c0SBram Moolenaarsyn keyword zimbuBasicType	nat9 nat10 nat11 nat12 nat13 nat14 nat15
291aeaf8c0SBram Moolenaarsyn keyword zimbuBasicType	float float32 float64 float80 float128
301aeaf8c0SBram Moolenaarsyn keyword zimbuBasicType	fixed1 fixed2 fixed3 fixed4 fixed5 fixed6
311aeaf8c0SBram Moolenaarsyn keyword zimbuBasicType	fixed7 fixed8 fixed9 fixed10 fixed11 fixed12
321aeaf8c0SBram Moolenaarsyn keyword zimbuBasicType	fixed13 fixed14 fixed15
331aeaf8c0SBram Moolenaar
34*ed32d942SBram Moolenaarsyn keyword zimbuCompType	string varString
35*ed32d942SBram Moolenaarsyn keyword zimbuCompType	byteString varByteString
36*ed32d942SBram Moolenaarsyn keyword zimbuCompType	tuple array list dict dictList set callback
37*ed32d942SBram Moolenaarsyn keyword zimbuCompType	sortedList multiDict multiDictList multiSet
381aeaf8c0SBram Moolenaarsyn keyword zimbuCompType	complex complex32 complex64 complex80 complex128
391aeaf8c0SBram Moolenaarsyn keyword zimbuCompType	proc func def thread evalThread lock cond pipe
401aeaf8c0SBram Moolenaar
41*ed32d942SBram Moolenaarsyn keyword zimbuType   VAR dyn type USE GET
421aeaf8c0SBram Moolenaarsyn match zimbuType	"IO.File"
431aeaf8c0SBram Moolenaarsyn match zimbuType	"IO.Stat"
441aeaf8c0SBram Moolenaar
45*ed32d942SBram Moolenaarsyn keyword zimbuStatement IF ELSE ELSEIF IFNIL WHILE REPEAT FOR IN TO STEP
461aeaf8c0SBram Moolenaarsyn keyword zimbuStatement DO UNTIL SWITCH WITH
471aeaf8c0SBram Moolenaarsyn keyword zimbuStatement TRY CATCH FINALLY
481aeaf8c0SBram Moolenaarsyn keyword zimbuStatement GENERATE_IF GENERATE_ELSE GENERATE_ELSEIF
49*ed32d942SBram Moolenaarsyn keyword zimbuStatement GENERATE_ERROR
50*ed32d942SBram Moolenaarsyn keyword zimbuStatement BUILD_IF BUILD_ELSE BUILD_ELSEIF
511aeaf8c0SBram Moolenaarsyn keyword zimbuStatement CASE DEFAULT FINAL ABSTRACT VIRTUAL DEFINE REPLACE
521aeaf8c0SBram Moolenaarsyn keyword zimbuStatement IMPLEMENTS EXTENDS PARENT LOCAL
53*ed32d942SBram Moolenaarsyn keyword zimbuStatement PART ALIAS TYPE CONNECT WRAP
541aeaf8c0SBram Moolenaarsyn keyword zimbuStatement BREAK CONTINUE PROCEED
55*ed32d942SBram Moolenaarsyn keyword zimbuStatement RETURN EXIT THROW DEFER
561aeaf8c0SBram Moolenaarsyn keyword zimbuStatement IMPORT AS OPTIONS MAIN
57*ed32d942SBram Moolenaarsyn keyword zimbuStatement INTERFACE PIECE INCLUDE MODULE ENUM BITS
58*ed32d942SBram Moolenaarsyn keyword zimbuStatement SHARED STATIC
59*ed32d942SBram Moolenaarsyn keyword zimbuStatement LAMBDA
601aeaf8c0SBram Moolenaarsyn match zimbuStatement "\<\(FUNC\|PROC\|DEF\)\>"
611aeaf8c0SBram Moolenaarsyn match zimbuStatement "\<CLASS\>"
621aeaf8c0SBram Moolenaarsyn match zimbuStatement "}"
631aeaf8c0SBram Moolenaar
641aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@backtrace=no\>"
651aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@backtrace=yes\>"
661aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@abstract\>"
671aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@earlyInit\>"
681aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@default\>"
691aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@define\>"
701aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@replace\>"
711aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@final\>"
72*ed32d942SBram Moolenaarsyn match zimbuAttribute "@primitive\>"
73*ed32d942SBram Moolenaarsyn match zimbuAttribute "@notOnExit\>"
741aeaf8c0SBram Moolenaar
751aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@private\>"
761aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@protected\>"
771aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@public\>"
78*ed32d942SBram Moolenaarsyn match zimbuAttribute "@local\>"
791aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@file\>"
801aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@directory\>"
811aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@read=private\>"
821aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@read=protected\>"
831aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@read=public\>"
841aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@read=file\>"
851aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@read=directory\>"
861aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@items=private\>"
871aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@items=protected\>"
881aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@items=public\>"
891aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@items=file\>"
901aeaf8c0SBram Moolenaarsyn match zimbuAttribute "@items=directory\>"
911aeaf8c0SBram Moolenaar
92*ed32d942SBram Moolenaarsyn keyword zimbuMethod NEW EQUAL COPY COMPARE SIZE GET SET INIT EARLYINIT
931aeaf8c0SBram Moolenaar
941aeaf8c0SBram Moolenaarsyn keyword zimbuOperator IS ISNOT ISA ISNOTA
951aeaf8c0SBram Moolenaar
96*ed32d942SBram Moolenaarsyn keyword zimbuModule  ARG CHECK E GC IO LOG PROTO SYS HTTP ZC ZWT T TIME THREAD
971aeaf8c0SBram Moolenaar
98*ed32d942SBram Moolenaarsyn match zimbuImport  "\.\zsPROTO"
99*ed32d942SBram Moolenaarsyn match zimbuImport  "\.\zsCHEADER"
100*ed32d942SBram Moolenaar
101*ed32d942SBram Moolenaar"syn match zimbuString  +"\([^"\\]\|\\.\)*\("\|$\)+ contains=zimbuStringExpr
102*ed32d942SBram Moolenaarsyn region zimbuString  start=+"+  skip=+[^"\\]\|\\.+ end=+"\|$+ contains=zimbuStringExpr
1031aeaf8c0SBram Moolenaarsyn match zimbuString  +R"\([^"]\|""\)*\("\|$\)+
104*ed32d942SBram Moolenaarsyn region zimbuLongString  start=+''"+ end=+"''+
105*ed32d942SBram Moolenaarsyn match zimbuStringExpr +\\([^)]*)+hs=s+2,he=e-1 contained contains=zimbuString,zimbuParenPairOuter
106*ed32d942SBram Moolenaarsyn region zimbuParenPairOuter  start=+(+ms=s+1  end=+)+me=e-1 contained contains=zimbuString,zimbuParenPair
107*ed32d942SBram Moolenaarsyn region zimbuParenPair  start=+(+  end=+)+ contained contains=zimbuString,zimbuParenPair
1081aeaf8c0SBram Moolenaar
1091aeaf8c0SBram Moolenaarsyn keyword zimbuFixed  TRUE FALSE NIL THIS THISTYPE FAIL OK
1101aeaf8c0SBram Moolenaarsyn keyword zimbuError  NULL
1111aeaf8c0SBram Moolenaar
1121aeaf8c0SBram Moolenaar" trailing whitespace
1131aeaf8c0SBram Moolenaarsyn match   zimbuSpaceError   display excludenl "\S\s\+$"ms=s+1
1141aeaf8c0SBram Moolenaar" mixed tabs and spaces
1151aeaf8c0SBram Moolenaarsyn match   zimbuSpaceError   display " \+\t"
1161aeaf8c0SBram Moolenaarsyn match   zimbuSpaceError   display "\t\+ "
1171aeaf8c0SBram Moolenaar
118*ed32d942SBram Moolenaarsyn match zimbuUses contained "\<uses([a-zA-Z_ ,]*)"
119*ed32d942SBram Moolenaarsyn match zimbuBlockgc contained "blockgc"
1201aeaf8c0SBram Moolenaarsyn match zimbuBlockComment contained " #.*"
1211aeaf8c0SBram Moolenaar
122*ed32d942SBram Moolenaarsyn region zimbuCregion matchgroup=zimbuCblock start="^>>>" end="^<<<.*" contains=@Ccode,zimbuUses,zimbuBlockgc,zimbuBlockComment keepend
1231aeaf8c0SBram Moolenaar
124*ed32d942SBram Moolenaar" Assume long strings and C regions don't take more than 200 lines.
125*ed32d942SBram Moolenaarsyn sync minlines=200
126*ed32d942SBram Moolenaar
127*ed32d942SBram Moolenaar" When we find the start of a long string, without a # or " before it, we are
128*ed32d942SBram Moolenaar" sure to be inside a long string.
129*ed32d942SBram Moolenaarsyn sync match zimbuLongStringSync grouphere zimbuLongString +^[^"#]*''\"+
1301aeaf8c0SBram Moolenaar
1311aeaf8c0SBram Moolenaarhi def link zimbuBasicType	Type
1321aeaf8c0SBram Moolenaarhi def link zimbuCompType	Type
1331aeaf8c0SBram Moolenaarhi def link zimbuType		Type
1341aeaf8c0SBram Moolenaarhi def link zimbuStatement	Statement
1351aeaf8c0SBram Moolenaarhi def link zimbuOperator	Statement
1361aeaf8c0SBram Moolenaarhi def link zimbuMethod		PreProc
1371aeaf8c0SBram Moolenaarhi def link zimbuModule		PreProc
138*ed32d942SBram Moolenaarhi def link zimbuImport		PreProc
1391aeaf8c0SBram Moolenaarhi def link zimbuUses		PreProc
140*ed32d942SBram Moolenaarhi def link zimbuBlockgc	PreProc
1411aeaf8c0SBram Moolenaarhi def link zimbuAttribute	PreProc
1421aeaf8c0SBram Moolenaarhi def link zimbuString		Constant
143*ed32d942SBram Moolenaarhi def link zimbuLongString	Special
1441aeaf8c0SBram Moolenaarhi def link zimbuChar		Constant
1451aeaf8c0SBram Moolenaarhi def link zimbuFixed		Constant
1461aeaf8c0SBram Moolenaarhi def link zimbuComment	Comment
147*ed32d942SBram Moolenaarhi def link zimbuCommentStart	zimbuComment
1481aeaf8c0SBram Moolenaarhi def link zimbuBlockComment	Comment
1491aeaf8c0SBram Moolenaarhi def link zimbuCblock		Comment
1501aeaf8c0SBram Moolenaarhi def link zimbuTodo		Todo
1511aeaf8c0SBram Moolenaarhi def link zimbuParam		Constant
152*ed32d942SBram Moolenaarhi def link zimbuCode		Statement
1531aeaf8c0SBram Moolenaarhi def link zimbuNoBar		Ignore
154*ed32d942SBram Moolenaarhi def link zimbuNoBacktick	Ignore
1551aeaf8c0SBram Moolenaarhi def link zimbuSpaceError	Error
1561aeaf8c0SBram Moolenaarhi def link zimbuError		Error
1571aeaf8c0SBram Moolenaar
1581aeaf8c0SBram Moolenaarlet b:current_syntax = "zimbu"
1591aeaf8c0SBram Moolenaar
1601aeaf8c0SBram Moolenaar" vim: ts=8
161