blob: d2f34968b6312f58901f3dee247b1708b41d82bf [file] [log] [blame]
Bram Moolenaarc01140a2006-03-24 22:21:52 +00001" Vim syntax file
2" Language: Groovy
3" Maintainer: Alessio Pace <billy.corgan@tiscali.it>
4" Version: 0.1.9b
5" URL: http://www.vim.org/scripts/script.php?script_id=945
6" Last Change: 6/4/2004
7
8" This is my very first vim script, I hope to have
9" done it the right way.
10"
11" I must directly or indirectly thank the author of java.vim and ruby.vim:
12" I copied from them most of the stuff :-)
13"
14" Relies on html.vim
15
16" For version 5.x: Clear all syntax items
17" For version 6.x: Quit when a syntax file was already loaded
18"
19" HOWTO USE IT (INSTALL):
20" [groovy is still not recognized by vim! :-( ]
21"
22" 1) copy the file in the (global or user's $HOME/.vim/syntax/) syntax folder
23"
24" 2) add this line to recognize groovy files by filename extension:
25"
26" au BufNewFile,BufRead *.groovy setf groovy
27" in the global vim filetype.vim file or inside $HOME/.vim/filetype.vim
28"
29" 3) add this part to recognize by content groovy script (no extension needed :-)
30"
31" if did_filetype()
32" finish
33" endif
34" if getline(1) =~ '^#!.*[/\\]groovy\>'
35" setf groovy
36" endif
37"
38" in the global scripts.vim file or in $HOME/.vim/scripts.vim
39"
40" 4) open/write a .groovy file or a groovy script :-)
41"
42" Let me know if you like it or send me patches, so that I can improve it
43" when I have time
44
45" Quit when a syntax file was already loaded
46if !exists("main_syntax")
47 if version < 600
48 syntax clear
49 elseif exists("b:current_syntax")
50 finish
51 endif
52 " we define it here so that included files can test for it
53 let main_syntax='groovy'
54endif
55
56" don't use standard HiLink, it will not work with included syntax files
57if version < 508
58 command! -nargs=+ GroovyHiLink hi link <args>
59else
60 command! -nargs=+ GroovyHiLink hi def link <args>
61endif
62
63" ##########################
64" Java stuff taken from java.vim
65" some characters that cannot be in a groovy program (outside a string)
66" syn match groovyError "[\\@`]"
67"syn match groovyError "<<<\|\.\.\|=>\|<>\|||=\|&&=\|[^-]->\|\*\/"
68"syn match groovyOK "\.\.\."
69
70" keyword definitions
71syn keyword groovyExternal native package
72syn match groovyExternal "\<import\(\s\+static\>\)\?"
73syn keyword groovyError goto const
74syn keyword groovyConditional if else switch
75syn keyword groovyRepeat while for do
76syn keyword groovyBoolean true false
77syn keyword groovyConstant null
78syn keyword groovyTypedef this super
79syn keyword groovyOperator new instanceof
80syn keyword groovyType boolean char byte short int long float double
81syn keyword groovyType void
82syn keyword groovyType Integer Double Date Boolean Float String Array Vector List
83syn keyword groovyStatement return
84syn keyword groovyStorageClass static synchronized transient volatile final strictfp serializable
85syn keyword groovyExceptions throw try catch finally
86syn keyword groovyAssert assert
87syn keyword groovyMethodDecl synchronized throws
88syn keyword groovyClassDecl extends implements interface
89" to differentiate the keyword class from MyClass.class we use a match here
90syn match groovyTypedef "\.\s*\<class\>"ms=s+1
91syn keyword groovyClassDecl enum
92syn match groovyClassDecl "^class\>"
93syn match groovyClassDecl "[^.]\s*\<class\>"ms=s+1
94syn keyword groovyBranch break continue nextgroup=groovyUserLabelRef skipwhite
95syn match groovyUserLabelRef "\k\+" contained
96syn keyword groovyScopeDecl public protected private abstract
97
98
99if exists("groovy_highlight_groovy_lang_ids") || exists("groovy_highlight_groovy_lang") || exists("groovy_highlight_all")
100 " groovy.lang.*
101 syn keyword groovyLangClass Closure MetaMethod GroovyObject
102
103 syn match groovyJavaLangClass "\<System\>"
104 syn keyword groovyJavaLangClass Cloneable Comparable Runnable Serializable Boolean Byte Class Object
105 syn keyword groovyJavaLangClass Character CharSequence ClassLoader Compiler
106 " syn keyword groovyJavaLangClass Integer Double Float Long
107 syn keyword groovyJavaLangClass InheritableThreadLocal Math Number Object Package Process
108 syn keyword groovyJavaLangClass Runtime RuntimePermission InheritableThreadLocal
109 syn keyword groovyJavaLangClass SecurityManager Short StrictMath StackTraceElement
110 syn keyword groovyJavaLangClass StringBuffer Thread ThreadGroup
111 syn keyword groovyJavaLangClass ThreadLocal Throwable Void ArithmeticException
112 syn keyword groovyJavaLangClass ArrayIndexOutOfBoundsException AssertionError
113 syn keyword groovyJavaLangClass ArrayStoreException ClassCastException
114 syn keyword groovyJavaLangClass ClassNotFoundException
115 syn keyword groovyJavaLangClass CloneNotSupportedException Exception
116 syn keyword groovyJavaLangClass IllegalAccessException
117 syn keyword groovyJavaLangClass IllegalArgumentException
118 syn keyword groovyJavaLangClass IllegalMonitorStateException
119 syn keyword groovyJavaLangClass IllegalStateException
120 syn keyword groovyJavaLangClass IllegalThreadStateException
121 syn keyword groovyJavaLangClass IndexOutOfBoundsException
122 syn keyword groovyJavaLangClass InstantiationException InterruptedException
123 syn keyword groovyJavaLangClass NegativeArraySizeException NoSuchFieldException
124 syn keyword groovyJavaLangClass NoSuchMethodException NullPointerException
125 syn keyword groovyJavaLangClass NumberFormatException RuntimeException
126 syn keyword groovyJavaLangClass SecurityException StringIndexOutOfBoundsException
127 syn keyword groovyJavaLangClass UnsupportedOperationException
128 syn keyword groovyJavaLangClass AbstractMethodError ClassCircularityError
129 syn keyword groovyJavaLangClass ClassFormatError Error ExceptionInInitializerError
130 syn keyword groovyJavaLangClass IllegalAccessError InstantiationError
131 syn keyword groovyJavaLangClass IncompatibleClassChangeError InternalError
132 syn keyword groovyJavaLangClass LinkageError NoClassDefFoundError
133 syn keyword groovyJavaLangClass NoSuchFieldError NoSuchMethodError
134 syn keyword groovyJavaLangClass OutOfMemoryError StackOverflowError
135 syn keyword groovyJavaLangClass ThreadDeath UnknownError UnsatisfiedLinkError
136 syn keyword groovyJavaLangClass UnsupportedClassVersionError VerifyError
137 syn keyword groovyJavaLangClass VirtualMachineError
138
139 syn keyword groovyJavaLangObject clone equals finalize getClass hashCode
140 syn keyword groovyJavaLangObject notify notifyAll toString wait
141
142 GroovyHiLink groovyLangClass groovyConstant
143 GroovyHiLink groovyJavaLangClass groovyExternal
144 GroovyHiLink groovyJavaLangObject groovyConstant
145 syn cluster groovyTop add=groovyJavaLangObject,groovyJavaLangClass,groovyLangClass
146 syn cluster groovyClasses add=groovyJavaLangClass,groovyLangClass
147endif
148
149
150" Groovy stuff
151syn match groovyOperator "\.\."
152syn match groovyOperator "<\{2,3}"
153syn match groovyOperator ">\{2,3}"
154syn match groovyOperator "->"
155syn match groovyExternal '^#!.*[/\\]groovy\>'
156syn match groovyExceptions "\<Exception\>\|\<[A-Z]\{1,}[a-zA-Z0-9]*Exception\>"
157
158" Groovy JDK stuff
159syn keyword groovyJDKBuiltin as def in
160syn keyword groovyJDKOperOverl div minus plus abs round power multiply
161syn keyword groovyJDKMethods each call inject sort print println
162syn keyword groovyJDKMethods getAt putAt size push pop toList getText writeLine eachLine readLines
163syn keyword groovyJDKMethods withReader withStream withWriter withPrintWriter write read leftShift
164syn keyword groovyJDKMethods withWriterAppend readBytes splitEachLine
165syn keyword groovyJDKMethods newInputStream newOutputStream newPrintWriter newReader newWriter
166syn keyword groovyJDKMethods compareTo next previous isCase
167syn keyword groovyJDKMethods times step toInteger upto any collect dump every find findAll grep
168syn keyword groovyJDKMethods inspect invokeMethods join
169syn keyword groovyJDKMethods getErr getIn getOut waitForOrKill
170syn keyword groovyJDKMethods count tokenize asList flatten immutable intersect reverse reverseEach
171syn keyword groovyJDKMethods subMap append asWritable eachByte eachLine eachFile
172syn cluster groovyTop add=groovyJDKBuiltin,groovyJDKOperOverl,groovyJDKMethods
173
174" no useful I think, so I comment it..
175"if filereadable(expand("<sfile>:p:h")."/groovyid.vim")
176 " source <sfile>:p:h/groovyid.vim
177"endif
178
179if exists("groovy_space_errors")
180 if !exists("groovy_no_trail_space_error")
181 syn match groovySpaceError "\s\+$"
182 endif
183 if !exists("groovy_no_tab_space_error")
184 syn match groovySpaceError " \+\t"me=e-1
185 endif
186endif
187
188" it is a better case construct than java.vim to match groovy syntax
189syn region groovyLabelRegion transparent matchgroup=groovyLabel start="\<case\>" matchgroup=NONE end=":\|$" contains=groovyNumber,groovyString,groovyLangClass,groovyJavaLangClass
190syn match groovyUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=groovyLabel
191syn keyword groovyLabel default
192
193if !exists("groovy_allow_cpp_keywords")
194 syn keyword groovyError auto delete extern friend inline redeclared
195 syn keyword groovyError register signed sizeof struct template typedef union
196 syn keyword groovyError unsigned operator
197endif
198
199" The following cluster contains all groovy groups except the contained ones
200syn cluster groovyTop add=groovyExternal,groovyError,groovyError,groovyBranch,groovyLabelRegion,groovyLabel,groovyConditional,groovyRepeat,groovyBoolean,groovyConstant,groovyTypedef,groovyOperator,groovyType,groovyType,groovyStatement,groovyStorageClass,groovyAssert,groovyExceptions,groovyMethodDecl,groovyClassDecl,groovyClassDecl,groovyClassDecl,groovyScopeDecl,groovyError,groovyError2,groovyUserLabel,groovyLangObject
201
202
203" Comments
204syn keyword groovyTodo contained TODO FIXME XXX
205if exists("groovy_comment_strings")
206 syn region groovyCommentString contained start=+"+ end=+"+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=groovySpecial,groovyCommentStar,groovySpecialChar,@Spell
207 syn region groovyComment2String contained start=+"+ end=+$\|"+ contains=groovySpecial,groovySpecialChar,@Spell
208 syn match groovyCommentCharacter contained "'\\[^']\{1,6\}'" contains=groovySpecialChar
209 syn match groovyCommentCharacter contained "'\\''" contains=groovySpecialChar
210 syn match groovyCommentCharacter contained "'[^\\]'"
211 syn cluster groovyCommentSpecial add=groovyCommentString,groovyCommentCharacter,groovyNumber
212 syn cluster groovyCommentSpecial2 add=groovyComment2String,groovyCommentCharacter,groovyNumber
213endif
214syn region groovyComment start="/\*" end="\*/" contains=@groovyCommentSpecial,groovyTodo,@Spell
215syn match groovyCommentStar contained "^\s*\*[^/]"me=e-1
216syn match groovyCommentStar contained "^\s*\*$"
217syn match groovyLineComment "//.*" contains=@groovyCommentSpecial2,groovyTodo,@Spell
218syn match groovyLineComment "#.*" contains=@groovyCommentSpecial2,groovyTodo,@Spell
219GroovyHiLink groovyCommentString groovyString
220GroovyHiLink groovyComment2String groovyString
221GroovyHiLink groovyCommentCharacter groovyCharacter
222
223syn cluster groovyTop add=groovyComment,groovyLineComment
224
225if !exists("groovy_ignore_groovydoc") && main_syntax != 'jsp'
226 syntax case ignore
227 " syntax coloring for groovydoc comments (HTML)
228 " syntax include @groovyHtml <sfile>:p:h/html.vim
229 syntax include @groovyHtml runtime! syntax/html.vim
230 unlet b:current_syntax
Bram Moolenaar5c736222010-01-06 20:54:52 +0100231 syntax spell default " added by Bram
Bram Moolenaarc01140a2006-03-24 22:21:52 +0000232 syn region groovyDocComment start="/\*\*" end="\*/" keepend contains=groovyCommentTitle,@groovyHtml,groovyDocTags,groovyTodo,@Spell
233 syn region groovyCommentTitle contained matchgroup=groovyDocComment start="/\*\*" matchgroup=groovyCommentTitle keepend end="\.$" end="\.[ \t\r<&]"me=e-1 end="[^{]@"me=s-2,he=s-1 end="\*/"me=s-1,he=s-1 contains=@groovyHtml,groovyCommentStar,groovyTodo,@Spell,groovyDocTags
234
235 syn region groovyDocTags contained start="{@\(link\|linkplain\|inherit[Dd]oc\|doc[rR]oot\|value\)" end="}"
236 syn match groovyDocTags contained "@\(see\|param\|exception\|throws\|since\)\s\+\S\+" contains=groovyDocParam
237 syn match groovyDocParam contained "\s\S\+"
238 syn match groovyDocTags contained "@\(version\|author\|return\|deprecated\|serial\|serialField\|serialData\)\>"
239 syntax case match
240endif
241
242" match the special comment /**/
243syn match groovyComment "/\*\*/"
244
245" Strings and constants
246syn match groovySpecialError contained "\\."
247syn match groovySpecialCharError contained "[^']"
248syn match groovySpecialChar contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)"
249syn region groovyString start=+"+ end=+"+ end=+$+ contains=groovySpecialChar,groovySpecialError,@Spell,groovyELExpr
250syn region groovyString start=+'+ end=+'+ end=+$+ contains=groovySpecialChar,groovySpecialError,@Spell,groovyELExpr
251" syn region groovyELExpr start=+${+ end=+}+ keepend contained
252 syn match groovyELExpr /\${.\{-}}/ contained
253GroovyHiLink groovyELExpr Identifier
254
255" TODO: better matching. I am waiting to understand how it really works in groovy
256" syn region groovyClosureParamsBraces start=+|+ end=+|+ contains=groovyClosureParams
257" syn match groovyClosureParams "[ a-zA-Z0-9_*]\+" contained
258" GroovyHiLink groovyClosureParams Identifier
259
260" next line disabled, it can cause a crash for a long line
261"syn match groovyStringError +"\([^"\\]\|\\.\)*$+
262
263" disabled: in groovy strings or characters are written the same
264" syn match groovyCharacter "'[^']*'" contains=groovySpecialChar,groovySpecialCharError
265" syn match groovyCharacter "'\\''" contains=groovySpecialChar
266" syn match groovyCharacter "'[^\\]'"
267syn match groovyNumber "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
268syn match groovyNumber "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
269syn match groovyNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
270syn match groovyNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
271
272" unicode characters
273syn match groovySpecial "\\u\d\{4\}"
274
275syn cluster groovyTop add=groovyString,groovyCharacter,groovyNumber,groovySpecial,groovyStringError
276
277if exists("groovy_highlight_functions")
278 if groovy_highlight_functions == "indent"
279 syn match groovyFuncDef "^\(\t\| \{8\}\)[_$a-zA-Z][_$a-zA-Z0-9_. \[\]]*([^-+*/()]*)" contains=groovyScopeDecl,groovyType,groovyStorageClass,@groovyClasses
280 syn region groovyFuncDef start=+^\(\t\| \{8\}\)[$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*,\s*+ end=+)+ contains=groovyScopeDecl,groovyType,groovyStorageClass,@groovyClasses
281 syn match groovyFuncDef "^ [$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*)" contains=groovyScopeDecl,groovyType,groovyStorageClass,@groovyClasses
282 syn region groovyFuncDef start=+^ [$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*,\s*+ end=+)+ contains=groovyScopeDecl,groovyType,groovyStorageClass,@groovyClasses
283 else
284 " This line catches method declarations at any indentation>0, but it assumes
285 " two things:
286 " 1. class names are always capitalized (ie: Button)
287 " 2. method names are never capitalized (except constructors, of course)
288 syn region groovyFuncDef start=+^\s\+\(\(public\|protected\|private\|static\|abstract\|final\|native\|synchronized\)\s\+\)*\(\(void\|boolean\|char\|byte\|short\|int\|long\|float\|double\|\([A-Za-z_][A-Za-z0-9_$]*\.\)*[A-Z][A-Za-z0-9_$]*\)\(<[^>]*>\)\=\(\[\]\)*\s\+[a-z][A-Za-z0-9_$]*\|[A-Z][A-Za-z0-9_$]*\)\s*([^0-9]+ end=+)+ contains=groovyScopeDecl,groovyType,groovyStorageClass,groovyComment,groovyLineComment,@groovyClasses
289 endif
290 syn match groovyBraces "[{}]"
291 syn cluster groovyTop add=groovyFuncDef,groovyBraces
292endif
293
294if exists("groovy_highlight_debug")
295
296 " Strings and constants
297 syn match groovyDebugSpecial contained "\\\d\d\d\|\\."
298 syn region groovyDebugString contained start=+"+ end=+"+ contains=groovyDebugSpecial
299 syn match groovyDebugStringError +"\([^"\\]\|\\.\)*$+
300 syn match groovyDebugCharacter contained "'[^\\]'"
301 syn match groovyDebugSpecialCharacter contained "'\\.'"
302 syn match groovyDebugSpecialCharacter contained "'\\''"
303 syn match groovyDebugNumber contained "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
304 syn match groovyDebugNumber contained "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
305 syn match groovyDebugNumber contained "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
306 syn match groovyDebugNumber contained "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
307 syn keyword groovyDebugBoolean contained true false
308 syn keyword groovyDebugType contained null this super
309 syn region groovyDebugParen start=+(+ end=+)+ contained contains=groovyDebug.*,groovyDebugParen
310
311 " to make this work you must define the highlighting for these groups
312 syn match groovyDebug "\<System\.\(out\|err\)\.print\(ln\)*\s*("me=e-1 contains=groovyDebug.* nextgroup=groovyDebugParen
313 syn match groovyDebug "\<p\s*("me=e-1 contains=groovyDebug.* nextgroup=groovyDebugParen
314 syn match groovyDebug "[A-Za-z][a-zA-Z0-9_]*\.printStackTrace\s*("me=e-1 contains=groovyDebug.* nextgroup=groovyDebugParen
315 syn match groovyDebug "\<trace[SL]\=\s*("me=e-1 contains=groovyDebug.* nextgroup=groovyDebugParen
316
317 syn cluster groovyTop add=groovyDebug
318
319 if version >= 508 || !exists("did_c_syn_inits")
320 GroovyHiLink groovyDebug Debug
321 GroovyHiLink groovyDebugString DebugString
322 GroovyHiLink groovyDebugStringError groovyError
323 GroovyHiLink groovyDebugType DebugType
324 GroovyHiLink groovyDebugBoolean DebugBoolean
325 GroovyHiLink groovyDebugNumber Debug
326 GroovyHiLink groovyDebugSpecial DebugSpecial
327 GroovyHiLink groovyDebugSpecialCharacter DebugSpecial
328 GroovyHiLink groovyDebugCharacter DebugString
329 GroovyHiLink groovyDebugParen Debug
330
331 GroovyHiLink DebugString String
332 GroovyHiLink DebugSpecial Special
333 GroovyHiLink DebugBoolean Boolean
334 GroovyHiLink DebugType Type
335 endif
336endif
337
338" Match all Exception classes
339syn match groovyExceptions "\<Exception\>\|\<[A-Z]\{1,}[a-zA-Z0-9]*Exception\>"
340
341
342if !exists("groovy_minlines")
343 let groovy_minlines = 10
344endif
345exec "syn sync ccomment groovyComment minlines=" . groovy_minlines
346
347
348" ###################
349" Groovy stuff
350" syn match groovyOperator "|[ ,a-zA-Z0-9_*]\+|"
351
352" All groovy valid tokens
353" syn match groovyTokens ";\|,\|<=>\|<>\|:\|:=\|>\|>=\|=\|==\|<\|<=\|!=\|/\|/=\|\.\.|\.\.\.\|\~=\|\~=="
354" syn match groovyTokens "\*=\|&\|&=\|\*\|->\|\~\|+\|-\|/\|?\|<<<\|>>>\|<<\|>>"
355
356" Must put explicit these ones because groovy.vim mark them as errors otherwise
357" syn match groovyTokens "<=>\|<>\|==\~"
358"syn cluster groovyTop add=groovyTokens
359
360" Mark these as operators
361
362" Hightlight brackets
363" syn match groovyBraces "[{}]"
364" syn match groovyBraces "[\[\]]"
365" syn match groovyBraces "[\|]"
366
367if exists("groovy_mark_braces_in_parens_as_errors")
368 syn match groovyInParen contained "[{}]"
369 GroovyHiLink groovyInParen groovyError
370 syn cluster groovyTop add=groovyInParen
371endif
372
373" catch errors caused by wrong parenthesis
374syn region groovyParenT transparent matchgroup=groovyParen start="(" end=")" contains=@groovyTop,groovyParenT1
375syn region groovyParenT1 transparent matchgroup=groovyParen1 start="(" end=")" contains=@groovyTop,groovyParenT2 contained
376syn region groovyParenT2 transparent matchgroup=groovyParen2 start="(" end=")" contains=@groovyTop,groovyParenT contained
377syn match groovyParenError ")"
378GroovyHiLink groovyParenError groovyError
379
380" catch errors caused by wrong square parenthesis
381syn region groovyParenT transparent matchgroup=groovyParen start="\[" end="\]" contains=@groovyTop,groovyParenT1
382syn region groovyParenT1 transparent matchgroup=groovyParen1 start="\[" end="\]" contains=@groovyTop,groovyParenT2 contained
383syn region groovyParenT2 transparent matchgroup=groovyParen2 start="\[" end="\]" contains=@groovyTop,groovyParenT contained
384syn match groovyParenError "\]"
385
386" ###############################
387" java.vim default highlighting
388if version >= 508 || !exists("did_groovy_syn_inits")
389 if version < 508
390 let did_groovy_syn_inits = 1
391 endif
392 GroovyHiLink groovyFuncDef Function
393 GroovyHiLink groovyBraces Function
394 GroovyHiLink groovyBranch Conditional
395 GroovyHiLink groovyUserLabelRef groovyUserLabel
396 GroovyHiLink groovyLabel Label
397 GroovyHiLink groovyUserLabel Label
398 GroovyHiLink groovyConditional Conditional
399 GroovyHiLink groovyRepeat Repeat
400 GroovyHiLink groovyExceptions Exception
401 GroovyHiLink groovyAssert Statement
402 GroovyHiLink groovyStorageClass StorageClass
403 GroovyHiLink groovyMethodDecl groovyStorageClass
404 GroovyHiLink groovyClassDecl groovyStorageClass
405 GroovyHiLink groovyScopeDecl groovyStorageClass
406 GroovyHiLink groovyBoolean Boolean
407 GroovyHiLink groovySpecial Special
408 GroovyHiLink groovySpecialError Error
409 GroovyHiLink groovySpecialCharError Error
410 GroovyHiLink groovyString String
411 GroovyHiLink groovyCharacter Character
412 GroovyHiLink groovySpecialChar SpecialChar
413 GroovyHiLink groovyNumber Number
414 GroovyHiLink groovyError Error
415 GroovyHiLink groovyStringError Error
416 GroovyHiLink groovyStatement Statement
417 GroovyHiLink groovyOperator Operator
418 GroovyHiLink groovyComment Comment
419 GroovyHiLink groovyDocComment Comment
420 GroovyHiLink groovyLineComment Comment
421 GroovyHiLink groovyConstant Constant
422 GroovyHiLink groovyTypedef Typedef
423 GroovyHiLink groovyTodo Todo
424
425 GroovyHiLink groovyCommentTitle SpecialComment
426 GroovyHiLink groovyDocTags Special
427 GroovyHiLink groovyDocParam Function
428 GroovyHiLink groovyCommentStar groovyComment
429
430 GroovyHiLink groovyType Type
431 GroovyHiLink groovyExternal Include
432
433 GroovyHiLink htmlComment Special
434 GroovyHiLink htmlCommentPart Special
435 GroovyHiLink groovySpaceError Error
436 GroovyHiLink groovyJDKBuiltin Special
437 GroovyHiLink groovyJDKOperOverl Operator
438 GroovyHiLink groovyJDKMethods Function
439endif
440
441delcommand GroovyHiLink
442
443
444let b:current_syntax = "groovy"
445if main_syntax == 'groovy'
446 unlet main_syntax
447endif
448
449let b:spell_options="contained"
450
451" vim: ts=8