1" Vim syntax file 2" Language: Zimbu 3" Maintainer: Bram Moolenaar 4" Last Change: 2012 Jun 01 5 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 131