Mercurial > vim
annotate runtime/syntax/zimbu.vim @ 36258:4e190eb5f0ad draft
runtime(vim): Update base-syntax file, improve class, enum and interface highlighting
Commit: https://github.com/vim/vim/commit/818c641b6fac73b574a2b760213f515cee9a3c8e
Author: Doug Kearns <dougkearns@gmail.com>
Date: Sun Oct 6 17:00:48 2024 +0200
runtime(vim): Update base-syntax file, improve class, enum and interface highlighting
- Enable folding of class, enum and interface declarations.
- Highlight constructor names with the Function highlight group, like
other special methods.
- Mark function definitions using special method names as errors.
- Highlight :type arguments.
fixes: #14393#issuecomment-2042796198.
closes: #13810
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 06 Oct 2024 17:15:04 +0200 |
parents | 71cbad0921c9 |
children |
rev | line source |
---|---|
3513 | 1 " Vim syntax file |
2 " Language: Zimbu | |
32975
71cbad0921c9
runtime: Remove Brams name from a few more runtime files (#12780)
Christian Brabandt <cb@256bit.org>
parents:
6421
diff
changeset
|
3 " Maintainer: The·Vim·Project·<https://github.com/vim/vim> |
71cbad0921c9
runtime: Remove Brams name from a few more runtime files (#12780)
Christian Brabandt <cb@256bit.org>
parents:
6421
diff
changeset
|
4 " Last Change: 2023 Aug 13 |
71cbad0921c9
runtime: Remove Brams name from a few more runtime files (#12780)
Christian Brabandt <cb@256bit.org>
parents:
6421
diff
changeset
|
5 " Note: Zimbu seems to be dead :( |
3513 | 6 |
7 if exists("b:current_syntax") | |
8 finish | |
9 endif | |
10 | |
11 syn include @Ccode syntax/c.vim | |
12 | |
13 syn keyword zimbuTodo TODO FIXME XXX contained | |
14 syn match zimbuNoBar "|" contained | |
15 syn match zimbuParam "|[^| ]\+|" contained contains=zimbuNoBar | |
6421 | 16 syn match zimbuNoBacktick "`" contained |
17 syn match zimbuCode "`[^`]\+`" contained contains=zimbuNoBacktick | |
18 syn match zimbuComment "#.*$" contains=zimbuTodo,zimbuParam,zimbuCode,@Spell | |
19 syn match zimbuComment "/\*.\{-}\*/" contains=zimbuTodo,zimbuParam,zimbuCode,@Spell | |
3513 | 20 |
21 syn match zimbuChar "'\\\=.'" | |
22 | |
23 syn keyword zimbuBasicType bool status | |
24 syn keyword zimbuBasicType int1 int2 int3 int4 int5 int6 int7 | |
25 syn keyword zimbuBasicType int9 int10 int11 int12 int13 int14 int15 | |
26 syn keyword zimbuBasicType int int8 int16 int32 int64 bigInt | |
27 syn keyword zimbuBasicType nat nat8 byte nat16 nat32 nat64 bigNat | |
28 syn keyword zimbuBasicType nat1 nat2 nat3 nat4 nat5 nat6 nat7 | |
29 syn keyword zimbuBasicType nat9 nat10 nat11 nat12 nat13 nat14 nat15 | |
30 syn keyword zimbuBasicType float float32 float64 float80 float128 | |
31 syn keyword zimbuBasicType fixed1 fixed2 fixed3 fixed4 fixed5 fixed6 | |
32 syn keyword zimbuBasicType fixed7 fixed8 fixed9 fixed10 fixed11 fixed12 | |
33 syn keyword zimbuBasicType fixed13 fixed14 fixed15 | |
34 | |
6421 | 35 syn keyword zimbuCompType string varString |
36 syn keyword zimbuCompType byteString varByteString | |
37 syn keyword zimbuCompType tuple array list dict dictList set callback | |
38 syn keyword zimbuCompType sortedList multiDict multiDictList multiSet | |
3513 | 39 syn keyword zimbuCompType complex complex32 complex64 complex80 complex128 |
40 syn keyword zimbuCompType proc func def thread evalThread lock cond pipe | |
41 | |
6421 | 42 syn keyword zimbuType VAR dyn type USE GET |
3513 | 43 syn match zimbuType "IO.File" |
44 syn match zimbuType "IO.Stat" | |
45 | |
6421 | 46 syn keyword zimbuStatement IF ELSE ELSEIF IFNIL WHILE REPEAT FOR IN TO STEP |
3513 | 47 syn keyword zimbuStatement DO UNTIL SWITCH WITH |
48 syn keyword zimbuStatement TRY CATCH FINALLY | |
49 syn keyword zimbuStatement GENERATE_IF GENERATE_ELSE GENERATE_ELSEIF | |
6421 | 50 syn keyword zimbuStatement GENERATE_ERROR |
51 syn keyword zimbuStatement BUILD_IF BUILD_ELSE BUILD_ELSEIF | |
3513 | 52 syn keyword zimbuStatement CASE DEFAULT FINAL ABSTRACT VIRTUAL DEFINE REPLACE |
53 syn keyword zimbuStatement IMPLEMENTS EXTENDS PARENT LOCAL | |
6421 | 54 syn keyword zimbuStatement PART ALIAS TYPE CONNECT WRAP |
3513 | 55 syn keyword zimbuStatement BREAK CONTINUE PROCEED |
6421 | 56 syn keyword zimbuStatement RETURN EXIT THROW DEFER |
3513 | 57 syn keyword zimbuStatement IMPORT AS OPTIONS MAIN |
6421 | 58 syn keyword zimbuStatement INTERFACE PIECE INCLUDE MODULE ENUM BITS |
59 syn keyword zimbuStatement SHARED STATIC | |
60 syn keyword zimbuStatement LAMBDA | |
3513 | 61 syn match zimbuStatement "\<\(FUNC\|PROC\|DEF\)\>" |
62 syn match zimbuStatement "\<CLASS\>" | |
63 syn match zimbuStatement "}" | |
64 | |
65 syn match zimbuAttribute "@backtrace=no\>" | |
66 syn match zimbuAttribute "@backtrace=yes\>" | |
67 syn match zimbuAttribute "@abstract\>" | |
68 syn match zimbuAttribute "@earlyInit\>" | |
69 syn match zimbuAttribute "@default\>" | |
70 syn match zimbuAttribute "@define\>" | |
71 syn match zimbuAttribute "@replace\>" | |
72 syn match zimbuAttribute "@final\>" | |
6421 | 73 syn match zimbuAttribute "@primitive\>" |
74 syn match zimbuAttribute "@notOnExit\>" | |
3513 | 75 |
76 syn match zimbuAttribute "@private\>" | |
77 syn match zimbuAttribute "@protected\>" | |
78 syn match zimbuAttribute "@public\>" | |
6421 | 79 syn match zimbuAttribute "@local\>" |
3513 | 80 syn match zimbuAttribute "@file\>" |
81 syn match zimbuAttribute "@directory\>" | |
82 syn match zimbuAttribute "@read=private\>" | |
83 syn match zimbuAttribute "@read=protected\>" | |
84 syn match zimbuAttribute "@read=public\>" | |
85 syn match zimbuAttribute "@read=file\>" | |
86 syn match zimbuAttribute "@read=directory\>" | |
87 syn match zimbuAttribute "@items=private\>" | |
88 syn match zimbuAttribute "@items=protected\>" | |
89 syn match zimbuAttribute "@items=public\>" | |
90 syn match zimbuAttribute "@items=file\>" | |
91 syn match zimbuAttribute "@items=directory\>" | |
92 | |
6421 | 93 syn keyword zimbuMethod NEW EQUAL COPY COMPARE SIZE GET SET INIT EARLYINIT |
3513 | 94 |
95 syn keyword zimbuOperator IS ISNOT ISA ISNOTA | |
96 | |
6421 | 97 syn keyword zimbuModule ARG CHECK E GC IO LOG PROTO SYS HTTP ZC ZWT T TIME THREAD |
98 | |
99 syn match zimbuImport "\.\zsPROTO" | |
100 syn match zimbuImport "\.\zsCHEADER" | |
3513 | 101 |
6421 | 102 "syn match zimbuString +"\([^"\\]\|\\.\)*\("\|$\)+ contains=zimbuStringExpr |
103 syn region zimbuString start=+"+ skip=+[^"\\]\|\\.+ end=+"\|$+ contains=zimbuStringExpr | |
3513 | 104 syn match zimbuString +R"\([^"]\|""\)*\("\|$\)+ |
6421 | 105 syn region zimbuLongString start=+''"+ end=+"''+ |
106 syn match zimbuStringExpr +\\([^)]*)+hs=s+2,he=e-1 contained contains=zimbuString,zimbuParenPairOuter | |
107 syn region zimbuParenPairOuter start=+(+ms=s+1 end=+)+me=e-1 contained contains=zimbuString,zimbuParenPair | |
108 syn region zimbuParenPair start=+(+ end=+)+ contained contains=zimbuString,zimbuParenPair | |
3513 | 109 |
110 syn keyword zimbuFixed TRUE FALSE NIL THIS THISTYPE FAIL OK | |
111 syn keyword zimbuError NULL | |
112 | |
113 " trailing whitespace | |
114 syn match zimbuSpaceError display excludenl "\S\s\+$"ms=s+1 | |
115 " mixed tabs and spaces | |
116 syn match zimbuSpaceError display " \+\t" | |
117 syn match zimbuSpaceError display "\t\+ " | |
118 | |
6421 | 119 syn match zimbuUses contained "\<uses([a-zA-Z_ ,]*)" |
120 syn match zimbuBlockgc contained "blockgc" | |
3513 | 121 syn match zimbuBlockComment contained " #.*" |
122 | |
6421 | 123 syn region zimbuCregion matchgroup=zimbuCblock start="^>>>" end="^<<<.*" contains=@Ccode,zimbuUses,zimbuBlockgc,zimbuBlockComment keepend |
3513 | 124 |
6421 | 125 " Assume long strings and C regions don't take more than 200 lines. |
126 syn sync minlines=200 | |
127 | |
128 " When we find the start of a long string, without a # or " before it, we are | |
129 " sure to be inside a long string. | |
130 syn sync match zimbuLongStringSync grouphere zimbuLongString +^[^"#]*''\"+ | |
3513 | 131 |
132 hi def link zimbuBasicType Type | |
133 hi def link zimbuCompType Type | |
134 hi def link zimbuType Type | |
135 hi def link zimbuStatement Statement | |
136 hi def link zimbuOperator Statement | |
137 hi def link zimbuMethod PreProc | |
138 hi def link zimbuModule PreProc | |
6421 | 139 hi def link zimbuImport PreProc |
3513 | 140 hi def link zimbuUses PreProc |
6421 | 141 hi def link zimbuBlockgc PreProc |
3513 | 142 hi def link zimbuAttribute PreProc |
143 hi def link zimbuString Constant | |
6421 | 144 hi def link zimbuLongString Special |
3513 | 145 hi def link zimbuChar Constant |
146 hi def link zimbuFixed Constant | |
147 hi def link zimbuComment Comment | |
6421 | 148 hi def link zimbuCommentStart zimbuComment |
3513 | 149 hi def link zimbuBlockComment Comment |
150 hi def link zimbuCblock Comment | |
151 hi def link zimbuTodo Todo | |
152 hi def link zimbuParam Constant | |
6421 | 153 hi def link zimbuCode Statement |
3513 | 154 hi def link zimbuNoBar Ignore |
6421 | 155 hi def link zimbuNoBacktick Ignore |
3513 | 156 hi def link zimbuSpaceError Error |
157 hi def link zimbuError Error | |
158 | |
159 let b:current_syntax = "zimbu" | |
160 | |
161 " vim: ts=8 |