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