diff options
| author | Adam Stankiewicz <sheerun@sher.pl> | 2015-10-10 17:17:57 +0200 | 
|---|---|---|
| committer | Adam Stankiewicz <sheerun@sher.pl> | 2015-10-10 17:18:03 +0200 | 
| commit | 2d3b20bc68d43d23c7c66d56c84b509ad2fcd7ee (patch) | |
| tree | b4a08d456461001e48ce0a400c9e2fe1bd8df909 | |
| parent | a6b0efd5301406adb44dfb12bfc73cf40f28b55b (diff) | |
| download | vim-polyglot-2d3b20bc68d43d23c7c66d56c84b509ad2fcd7ee.tar.gz vim-polyglot-2d3b20bc68d43d23c7c66d56c84b509ad2fcd7ee.zip | |
Add groovy syntax, closes #74v2.2.0
Diffstat (limited to '')
| -rw-r--r-- | README.md | 1 | ||||
| -rwxr-xr-x | build | 1 | ||||
| -rw-r--r-- | syntax/groovy.vim | 454 | 
3 files changed, 456 insertions, 0 deletions
| @@ -42,6 +42,7 @@ Optionally download one of the [releases](https://github.com/sheerun/vim-polyglo  - [git](https://github.com/tpope/vim-git) (syntax, indent, ftplugin, ftdetect)  - [glsl](https://github.com/tikhomirov/vim-glsl) (syntax, indent, ftdetect)  - [go](https://github.com/fatih/vim-go) (syntax, indent, ftdetect) +- [groovy](https://github.com/vim-scripts/groovy.vim) (syntax)  - [haml](https://github.com/tpope/vim-haml) (syntax, indent, compiler, ftplugin, ftdetect)  - [handlebars](https://github.com/mustache/vim-mustache-handlebars) (syntax, ftplugin, ftdetect)  - [haskell](https://github.com/raichoo/haskell-vim) () @@ -113,6 +113,7 @@ PACKS="    git:tpope/vim-git    glsl:tikhomirov/vim-glsl    go:fatih/vim-go:_BASIC +  groovy:vim-scripts/groovy.vim    haml:tpope/vim-haml    handlebars:mustache/vim-mustache-handlebars    haskell:raichoo/haskell-vim diff --git a/syntax/groovy.vim b/syntax/groovy.vim new file mode 100644 index 00000000..1a777cda --- /dev/null +++ b/syntax/groovy.vim @@ -0,0 +1,454 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'groovy') == -1 +   +" Vim syntax file +" Language:	Groovy +" Maintainer:	Alessio Pace <billy.corgan@tiscali.it> +" Version: 	0.1.9b +" URL:	  http://www.vim.org/scripts/script.php?script_id=945	 +" Last Change:	6/4/2004 + +" This is my very first vim script, I hope to have +" done it the right way. +"  +" I must directly or indirectly thank the author of java.vim and ruby.vim: +" I copied from them most of the stuff :-) +" +" Relies on html.vim + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +" +" HOWTO USE IT (INSTALL): +" [groovy is still not recognized by vim! :-( ] +" +" 1) copy the file in the (global or user's $HOME/.vim/syntax/) syntax folder +"  +" 2) add this line to recognize groovy files by filename extension: +" +" au BufNewFile,BufRead *.groovy  setf groovy +" in the global vim filetype.vim file or inside $HOME/.vim/filetype.vim +" +" 3) add this part to recognize by content groovy script (no extension needed :-) +" +"  if did_filetype() +"    finish +"  endif +"  if getline(1) =~ '^#!.*[/\\]groovy\>' +"    setf groovy +"  endif +" +"  in the global scripts.vim file or in $HOME/.vim/scripts.vim +"  +" 4) open/write a .groovy file or a groovy script :-) +" +" Let me know if you like it or send me patches, so that I can improve it +" when I have time + +" Quit when a syntax file was already loaded +if !exists("main_syntax") +  if version < 600 +    syntax clear +  elseif exists("b:current_syntax") +    finish +  endif +  " we define it here so that included files can test for it +  let main_syntax='groovy' +endif + +" don't use standard HiLink, it will not work with included syntax files +if version < 508 +  command! -nargs=+ GroovyHiLink hi link <args> +else +  command! -nargs=+ GroovyHiLink hi def link <args> +endif + +" ########################## +" Java stuff taken from java.vim +" some characters that cannot be in a groovy program (outside a string) +" syn match groovyError "[\\@`]" +"syn match groovyError "<<<\|\.\.\|=>\|<>\|||=\|&&=\|[^-]->\|\*\/" +"syn match groovyOK "\.\.\." + +" keyword definitions +syn keyword groovyExternal        native package +syn match groovyExternal          "\<import\(\s\+static\>\)\?" +syn keyword groovyError           goto const +syn keyword groovyConditional     if else switch +syn keyword groovyRepeat          while for do +syn keyword groovyBoolean         true false +syn keyword groovyConstant        null +syn keyword groovyTypedef         this super +syn keyword groovyOperator        new instanceof +syn keyword groovyType            boolean char byte short int long float double +syn keyword groovyType            void +syn keyword groovyType		  Integer Double Date Boolean Float String Array Vector List +syn keyword groovyStatement       return +syn keyword groovyStorageClass    static synchronized transient volatile final strictfp serializable +syn keyword groovyExceptions      throw try catch finally +syn keyword groovyAssert          assert +syn keyword groovyMethodDecl      synchronized throws +syn keyword groovyClassDecl       extends implements interface +" to differentiate the keyword class from MyClass.class we use a match here +syn match   groovyTypedef         "\.\s*\<class\>"ms=s+1 +syn keyword groovyClassDecl         enum +syn match   groovyClassDecl       "^class\>" +syn match   groovyClassDecl       "[^.]\s*\<class\>"ms=s+1 +syn keyword groovyBranch          break continue nextgroup=groovyUserLabelRef skipwhite +syn match   groovyUserLabelRef    "\k\+" contained +syn keyword groovyScopeDecl       public protected private abstract + + +if exists("groovy_highlight_groovy_lang_ids") || exists("groovy_highlight_groovy_lang") || exists("groovy_highlight_all") +  " groovy.lang.* +  syn keyword groovyLangClass  Closure MetaMethod GroovyObject +   +  syn match groovyJavaLangClass "\<System\>" +  syn keyword groovyJavaLangClass  Cloneable Comparable Runnable Serializable Boolean Byte Class Object +  syn keyword groovyJavaLangClass  Character CharSequence ClassLoader Compiler +  " syn keyword groovyJavaLangClass  Integer Double Float Long  +  syn keyword groovyJavaLangClass  InheritableThreadLocal Math Number Object Package Process +  syn keyword groovyJavaLangClass  Runtime RuntimePermission InheritableThreadLocal +  syn keyword groovyJavaLangClass  SecurityManager Short StrictMath StackTraceElement +  syn keyword groovyJavaLangClass  StringBuffer Thread ThreadGroup +  syn keyword groovyJavaLangClass  ThreadLocal Throwable Void ArithmeticException +  syn keyword groovyJavaLangClass  ArrayIndexOutOfBoundsException AssertionError +  syn keyword groovyJavaLangClass  ArrayStoreException ClassCastException +  syn keyword groovyJavaLangClass  ClassNotFoundException +  syn keyword groovyJavaLangClass  CloneNotSupportedException Exception +  syn keyword groovyJavaLangClass  IllegalAccessException +  syn keyword groovyJavaLangClass  IllegalArgumentException +  syn keyword groovyJavaLangClass  IllegalMonitorStateException +  syn keyword groovyJavaLangClass  IllegalStateException +  syn keyword groovyJavaLangClass  IllegalThreadStateException +  syn keyword groovyJavaLangClass  IndexOutOfBoundsException +  syn keyword groovyJavaLangClass  InstantiationException InterruptedException +  syn keyword groovyJavaLangClass  NegativeArraySizeException NoSuchFieldException +  syn keyword groovyJavaLangClass  NoSuchMethodException NullPointerException +  syn keyword groovyJavaLangClass  NumberFormatException RuntimeException +  syn keyword groovyJavaLangClass  SecurityException StringIndexOutOfBoundsException +  syn keyword groovyJavaLangClass  UnsupportedOperationException +  syn keyword groovyJavaLangClass  AbstractMethodError ClassCircularityError +  syn keyword groovyJavaLangClass  ClassFormatError Error ExceptionInInitializerError +  syn keyword groovyJavaLangClass  IllegalAccessError InstantiationError +  syn keyword groovyJavaLangClass  IncompatibleClassChangeError InternalError +  syn keyword groovyJavaLangClass  LinkageError NoClassDefFoundError +  syn keyword groovyJavaLangClass  NoSuchFieldError NoSuchMethodError +  syn keyword groovyJavaLangClass  OutOfMemoryError StackOverflowError +  syn keyword groovyJavaLangClass  ThreadDeath UnknownError UnsatisfiedLinkError +  syn keyword groovyJavaLangClass  UnsupportedClassVersionError VerifyError +  syn keyword groovyJavaLangClass  VirtualMachineError + +  syn keyword groovyJavaLangObject clone equals finalize getClass hashCode +  syn keyword groovyJavaLangObject notify notifyAll toString wait + +  GroovyHiLink groovyLangClass                   groovyConstant +  GroovyHiLink groovyJavaLangClass               groovyExternal +  GroovyHiLink groovyJavaLangObject              groovyConstant +  syn cluster groovyTop add=groovyJavaLangObject,groovyJavaLangClass,groovyLangClass +  syn cluster groovyClasses add=groovyJavaLangClass,groovyLangClass +endif + + +" Groovy stuff +syn match groovyOperator "\.\." +syn match groovyOperator "<\{2,3}" +syn match groovyOperator ">\{2,3}" +syn match groovyOperator "->" +syn match groovyExternal		'^#!.*[/\\]groovy\>' +syn match groovyExceptions        "\<Exception\>\|\<[A-Z]\{1,}[a-zA-Z0-9]*Exception\>" + +" Groovy JDK stuff +syn keyword groovyJDKBuiltin    as def in +syn keyword groovyJDKOperOverl  div minus plus abs round power multiply  +syn keyword groovyJDKMethods 	each call inject sort print println  +syn keyword groovyJDKMethods    getAt putAt size push pop toList getText writeLine eachLine readLines +syn keyword groovyJDKMethods    withReader withStream withWriter withPrintWriter write read leftShift  +syn keyword groovyJDKMethods    withWriterAppend readBytes splitEachLine +syn keyword groovyJDKMethods    newInputStream newOutputStream newPrintWriter newReader newWriter  +syn keyword groovyJDKMethods    compareTo next previous isCase  +syn keyword groovyJDKMethods    times step toInteger upto any collect dump every find findAll grep +syn keyword groovyJDKMethods    inspect invokeMethods join  +syn keyword groovyJDKMethods    getErr getIn getOut waitForOrKill +syn keyword groovyJDKMethods    count tokenize asList flatten immutable intersect reverse reverseEach +syn keyword groovyJDKMethods    subMap append asWritable eachByte eachLine eachFile  +syn cluster groovyTop add=groovyJDKBuiltin,groovyJDKOperOverl,groovyJDKMethods + +" no useful I think, so I comment it.. +"if filereadable(expand("<sfile>:p:h")."/groovyid.vim") + " source <sfile>:p:h/groovyid.vim +"endif + +if exists("groovy_space_errors") +  if !exists("groovy_no_trail_space_error") +    syn match   groovySpaceError  "\s\+$" +  endif +  if !exists("groovy_no_tab_space_error") +    syn match   groovySpaceError  " \+\t"me=e-1 +  endif +endif + +" it is a better case construct than java.vim to match groovy syntax +syn region  groovyLabelRegion     transparent matchgroup=groovyLabel start="\<case\>" matchgroup=NONE end=":\|$" contains=groovyNumber,groovyString,groovyLangClass,groovyJavaLangClass +syn match   groovyUserLabel       "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=groovyLabel +syn keyword groovyLabel           default + +if !exists("groovy_allow_cpp_keywords") +  syn keyword groovyError auto delete extern friend inline redeclared +  syn keyword groovyError register signed sizeof struct template typedef union +  syn keyword groovyError unsigned operator +endif + +" The following cluster contains all groovy groups except the contained ones +syn 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 + + +" Comments +syn keyword groovyTodo             contained TODO FIXME XXX +if exists("groovy_comment_strings") +  syn region  groovyCommentString    contained start=+"+ end=+"+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=groovySpecial,groovyCommentStar,groovySpecialChar,@Spell +  syn region  groovyComment2String   contained start=+"+  end=+$\|"+  contains=groovySpecial,groovySpecialChar,@Spell +  syn match   groovyCommentCharacter contained "'\\[^']\{1,6\}'" contains=groovySpecialChar +  syn match   groovyCommentCharacter contained "'\\''" contains=groovySpecialChar +  syn match   groovyCommentCharacter contained "'[^\\]'" +  syn cluster groovyCommentSpecial add=groovyCommentString,groovyCommentCharacter,groovyNumber +  syn cluster groovyCommentSpecial2 add=groovyComment2String,groovyCommentCharacter,groovyNumber +endif +syn region  groovyComment          start="/\*"  end="\*/" contains=@groovyCommentSpecial,groovyTodo,@Spell +syn match   groovyCommentStar      contained "^\s*\*[^/]"me=e-1 +syn match   groovyCommentStar      contained "^\s*\*$" +syn match   groovyLineComment      "//.*" contains=@groovyCommentSpecial2,groovyTodo,@Spell +syn match   groovyLineComment      "#.*" contains=@groovyCommentSpecial2,groovyTodo,@Spell +GroovyHiLink groovyCommentString groovyString +GroovyHiLink groovyComment2String groovyString +GroovyHiLink groovyCommentCharacter groovyCharacter + +syn cluster groovyTop add=groovyComment,groovyLineComment + +if !exists("groovy_ignore_groovydoc") && main_syntax != 'jsp' +  syntax case ignore +  " syntax coloring for groovydoc comments (HTML) +  " syntax include @groovyHtml <sfile>:p:h/html.vim +   syntax include @groovyHtml runtime! syntax/html.vim +  unlet b:current_syntax +  syn region  groovyDocComment    start="/\*\*"  end="\*/" keepend contains=groovyCommentTitle,@groovyHtml,groovyDocTags,groovyTodo,@Spell +  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 + +  syn region groovyDocTags  contained start="{@\(link\|linkplain\|inherit[Dd]oc\|doc[rR]oot\|value\)" end="}" +  syn match  groovyDocTags  contained "@\(see\|param\|exception\|throws\|since\)\s\+\S\+" contains=groovyDocParam +  syn match  groovyDocParam contained "\s\S\+" +  syn match  groovyDocTags  contained "@\(version\|author\|return\|deprecated\|serial\|serialField\|serialData\)\>" +  syntax case match +endif + +" match the special comment /**/ +syn match   groovyComment          "/\*\*/" + +" Strings and constants +syn match   groovySpecialError     contained "\\." +syn match   groovySpecialCharError contained "[^']" +syn match   groovySpecialChar      contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)" +syn region  groovyString          start=+"+ end=+"+ end=+$+ contains=groovySpecialChar,groovySpecialError,@Spell,groovyELExpr +syn region  groovyString          start=+'+ end=+'+ end=+$+ contains=groovySpecialChar,groovySpecialError,@Spell,groovyELExpr +" syn region groovyELExpr start=+${+ end=+}+ keepend contained + syn match groovyELExpr /\${.\{-}}/ contained +GroovyHiLink groovyELExpr Identifier + +" TODO: better matching. I am waiting to understand how it really works in groovy +" syn region  groovyClosureParamsBraces          start=+|+ end=+|+ contains=groovyClosureParams +" syn match groovyClosureParams	"[ a-zA-Z0-9_*]\+" contained +" GroovyHiLink groovyClosureParams Identifier + +" next line disabled, it can cause a crash for a long line +"syn match   groovyStringError      +"\([^"\\]\|\\.\)*$+ + +" disabled: in groovy strings or characters are written the same +" syn match   groovyCharacter        "'[^']*'" contains=groovySpecialChar,groovySpecialCharError +" syn match   groovyCharacter        "'\\''" contains=groovySpecialChar +" syn match   groovyCharacter        "'[^\\]'" +syn match   groovyNumber           "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>" +syn match   groovyNumber           "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\=" +syn match   groovyNumber           "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" +syn match   groovyNumber           "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>" + +" unicode characters +syn match   groovySpecial "\\u\d\{4\}" + +syn cluster groovyTop add=groovyString,groovyCharacter,groovyNumber,groovySpecial,groovyStringError + +if exists("groovy_highlight_functions") +  if groovy_highlight_functions == "indent" +    syn match  groovyFuncDef "^\(\t\| \{8\}\)[_$a-zA-Z][_$a-zA-Z0-9_. \[\]]*([^-+*/()]*)" contains=groovyScopeDecl,groovyType,groovyStorageClass,@groovyClasses +    syn region groovyFuncDef start=+^\(\t\| \{8\}\)[$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*,\s*+ end=+)+ contains=groovyScopeDecl,groovyType,groovyStorageClass,@groovyClasses +    syn match  groovyFuncDef "^  [$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*)" contains=groovyScopeDecl,groovyType,groovyStorageClass,@groovyClasses +    syn region groovyFuncDef start=+^  [$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*,\s*+ end=+)+ contains=groovyScopeDecl,groovyType,groovyStorageClass,@groovyClasses +  else +    " This line catches method declarations at any indentation>0, but it assumes +    " two things: +    "   1. class names are always capitalized (ie: Button) +    "   2. method names are never capitalized (except constructors, of course) +    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 +  endif +  syn match  groovyBraces  "[{}]" +  syn cluster groovyTop add=groovyFuncDef,groovyBraces +endif + +if exists("groovy_highlight_debug") + +  " Strings and constants +  syn match   groovyDebugSpecial          contained "\\\d\d\d\|\\." +  syn region  groovyDebugString           contained start=+"+  end=+"+  contains=groovyDebugSpecial +  syn match   groovyDebugStringError      +"\([^"\\]\|\\.\)*$+ +  syn match   groovyDebugCharacter        contained "'[^\\]'" +  syn match   groovyDebugSpecialCharacter contained "'\\.'" +  syn match   groovyDebugSpecialCharacter contained "'\\''" +  syn match   groovyDebugNumber           contained "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>" +  syn match   groovyDebugNumber           contained "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\=" +  syn match   groovyDebugNumber           contained "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" +  syn match   groovyDebugNumber           contained "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>" +  syn keyword groovyDebugBoolean          contained true false +  syn keyword groovyDebugType             contained null this super +  syn region groovyDebugParen  start=+(+ end=+)+ contained contains=groovyDebug.*,groovyDebugParen + +  " to make this work you must define the highlighting for these groups +  syn match groovyDebug "\<System\.\(out\|err\)\.print\(ln\)*\s*("me=e-1 contains=groovyDebug.* nextgroup=groovyDebugParen +  syn match groovyDebug "\<p\s*("me=e-1 contains=groovyDebug.* nextgroup=groovyDebugParen +  syn match groovyDebug "[A-Za-z][a-zA-Z0-9_]*\.printStackTrace\s*("me=e-1 contains=groovyDebug.* nextgroup=groovyDebugParen +  syn match groovyDebug "\<trace[SL]\=\s*("me=e-1 contains=groovyDebug.* nextgroup=groovyDebugParen + +  syn cluster groovyTop add=groovyDebug + +  if version >= 508 || !exists("did_c_syn_inits") +    GroovyHiLink groovyDebug                 Debug +    GroovyHiLink groovyDebugString           DebugString +    GroovyHiLink groovyDebugStringError      groovyError +    GroovyHiLink groovyDebugType             DebugType +    GroovyHiLink groovyDebugBoolean          DebugBoolean +    GroovyHiLink groovyDebugNumber           Debug +    GroovyHiLink groovyDebugSpecial          DebugSpecial +    GroovyHiLink groovyDebugSpecialCharacter DebugSpecial +    GroovyHiLink groovyDebugCharacter        DebugString +    GroovyHiLink groovyDebugParen            Debug +   +    GroovyHiLink DebugString               String +    GroovyHiLink DebugSpecial              Special +    GroovyHiLink DebugBoolean              Boolean +    GroovyHiLink DebugType                 Type +  endif +endif + +" Match all Exception classes  +syn match groovyExceptions        "\<Exception\>\|\<[A-Z]\{1,}[a-zA-Z0-9]*Exception\>" + + +if !exists("groovy_minlines") +  let groovy_minlines = 10 +endif +exec "syn sync ccomment groovyComment minlines=" . groovy_minlines + + +" ###################  +" Groovy stuff +" syn match groovyOperator		"|[ ,a-zA-Z0-9_*]\+|" + +" All groovy valid tokens +" syn match groovyTokens ";\|,\|<=>\|<>\|:\|:=\|>\|>=\|=\|==\|<\|<=\|!=\|/\|/=\|\.\.|\.\.\.\|\~=\|\~==" +" syn match groovyTokens "\*=\|&\|&=\|\*\|->\|\~\|+\|-\|/\|?\|<<<\|>>>\|<<\|>>" + +" Must put explicit these ones because groovy.vim mark them as errors otherwise +" syn match groovyTokens "<=>\|<>\|==\~" +"syn cluster groovyTop add=groovyTokens + +" Mark these as operators + +" Hightlight brackets +" syn match  groovyBraces		"[{}]" +" syn match  groovyBraces		"[\[\]]" +" syn match  groovyBraces		"[\|]" + +if exists("groovy_mark_braces_in_parens_as_errors") +  syn match groovyInParen          contained "[{}]" +  GroovyHiLink groovyInParen        groovyError +  syn cluster groovyTop add=groovyInParen +endif + +" catch errors caused by wrong parenthesis +syn region  groovyParenT  transparent matchgroup=groovyParen  start="("  end=")" contains=@groovyTop,groovyParenT1 +syn region  groovyParenT1 transparent matchgroup=groovyParen1 start="(" end=")" contains=@groovyTop,groovyParenT2 contained +syn region  groovyParenT2 transparent matchgroup=groovyParen2 start="(" end=")" contains=@groovyTop,groovyParenT  contained +syn match   groovyParenError       ")" +GroovyHiLink groovyParenError       groovyError + +" catch errors caused by wrong square parenthesis +syn region  groovyParenT  transparent matchgroup=groovyParen  start="\["  end="\]" contains=@groovyTop,groovyParenT1 +syn region  groovyParenT1 transparent matchgroup=groovyParen1 start="\[" end="\]" contains=@groovyTop,groovyParenT2 contained +syn region  groovyParenT2 transparent matchgroup=groovyParen2 start="\[" end="\]" contains=@groovyTop,groovyParenT  contained +syn match   groovyParenError       "\]" + +" ############################### +" java.vim default highlighting +if version >= 508 || !exists("did_groovy_syn_inits") +  if version < 508 +    let did_groovy_syn_inits = 1 +  endif +  GroovyHiLink groovyFuncDef		Function +  GroovyHiLink groovyBraces		Function +  GroovyHiLink groovyBranch		Conditional +  GroovyHiLink groovyUserLabelRef	groovyUserLabel +  GroovyHiLink groovyLabel		Label +  GroovyHiLink groovyUserLabel		Label +  GroovyHiLink groovyConditional	Conditional +  GroovyHiLink groovyRepeat		Repeat +  GroovyHiLink groovyExceptions		Exception +  GroovyHiLink groovyAssert 		Statement +  GroovyHiLink groovyStorageClass	StorageClass +  GroovyHiLink groovyMethodDecl		groovyStorageClass +  GroovyHiLink groovyClassDecl		groovyStorageClass +  GroovyHiLink groovyScopeDecl		groovyStorageClass +  GroovyHiLink groovyBoolean		Boolean +  GroovyHiLink groovySpecial		Special +  GroovyHiLink groovySpecialError	Error +  GroovyHiLink groovySpecialCharError	Error +  GroovyHiLink groovyString		String +  GroovyHiLink groovyCharacter		Character +  GroovyHiLink groovySpecialChar	SpecialChar +  GroovyHiLink groovyNumber		Number +  GroovyHiLink groovyError		Error +  GroovyHiLink groovyStringError	Error +  GroovyHiLink groovyStatement		Statement +  GroovyHiLink groovyOperator		Operator +  GroovyHiLink groovyComment		Comment +  GroovyHiLink groovyDocComment		Comment +  GroovyHiLink groovyLineComment	Comment +  GroovyHiLink groovyConstant		Constant +  GroovyHiLink groovyTypedef		Typedef +  GroovyHiLink groovyTodo		Todo +   +  GroovyHiLink groovyCommentTitle	SpecialComment +  GroovyHiLink groovyDocTags		Special +  GroovyHiLink groovyDocParam		Function +  GroovyHiLink groovyCommentStar	groovyComment +   +  GroovyHiLink groovyType		Type +  GroovyHiLink groovyExternal		Include +   +  GroovyHiLink htmlComment		Special +  GroovyHiLink htmlCommentPart		Special +  GroovyHiLink groovySpaceError		Error +  GroovyHiLink groovyJDKBuiltin         Special +  GroovyHiLink groovyJDKOperOverl       Operator +  GroovyHiLink groovyJDKMethods         Function +endif + +delcommand GroovyHiLink + + +let b:current_syntax = "groovy" +if main_syntax == 'groovy' +  unlet main_syntax +endif + +let b:spell_options="contained" + +" vim: ts=8 + +endif | 
