summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md4
-rwxr-xr-xbuild2
-rw-r--r--indent/groovy.vim167
-rw-r--r--syntax/groovy.vim454
4 files changed, 1 insertions, 626 deletions
diff --git a/README.md b/README.md
index 56093b88..e5f3f934 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@ A collection of language packs for Vim.
> One to rule them all, one to find them, one to bring them all and in the darkness bind them.
- It **won't affect your startup time**, as scripts are loaded only on demand\*.
-- It **installs and updates 120+ times faster** than the <!--Package Count-->147<!--/Package Count--> packages it consists of.
+- It **installs and updates 120+ times faster** than the <!--Package Count-->145<!--/Package Count--> packages it consists of.
- Solid syntax and indentation support (other features skipped). Only the best language packs.
- All unnecessary files are ignored (like enormous documentation from php support).
- No support for esoteric languages, only most popular ones (modern too, like `slim`).
@@ -87,8 +87,6 @@ If you need full functionality of any plugin, please use it directly with your p
- [go](https://github.com/fatih/vim-go) (syntax, compiler, indent)
- [gradle](https://github.com/tfnico/vim-gradle) (compiler)
- [graphql](https://github.com/jparise/vim-graphql) (syntax, indent, autoload, ftplugin, after)
-- [groovy-indent](https://github.com/vim-scripts/groovyindent-unix) (indent)
-- [groovy](https://github.com/vim-scripts/groovy.vim) (syntax)
- [haml](https://github.com/sheerun/vim-haml) (syntax, indent, compiler, ftplugin)
- [handlebars](https://github.com/mustache/vim-mustache-handlebars) (syntax, indent, ftplugin)
- [haproxy](https://github.com/CH-DanReif/haproxy.vim) (syntax)
diff --git a/build b/build
index 44f39935..efbd56ca 100755
--- a/build
+++ b/build
@@ -205,8 +205,6 @@ PACKS="
go:fatih/vim-go:_BASIC
graphql:jparise/vim-graphql:_ALL
gradle:tfnico/vim-gradle
- groovy:vim-scripts/groovy.vim
- groovy-indent:vim-scripts/groovyindent-unix
haml:sheerun/vim-haml
handlebars:mustache/vim-mustache-handlebars
haproxy:CH-DanReif/haproxy.vim
diff --git a/indent/groovy.vim b/indent/groovy.vim
deleted file mode 100644
index 3c3227f1..00000000
--- a/indent/groovy.vim
+++ /dev/null
@@ -1,167 +0,0 @@
-if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'groovy-indent') == -1
-
-" Vim indent file
-" Language: Groovy
-" Maintainer: Toby Allsopp <toby.allsopp@peace.com> (resigned)
-" Last Change: 2005 Mar 28
-
-" Only load this indent file when no other was loaded.
-if exists("b:did_indent")
- finish
-endif
-let b:did_indent = 1
-
-" Indent Groovy anonymous classes correctly.
-setlocal cindent cinoptions& cinoptions+=j1
-
-" The "extends" and "implements" lines start off with the wrong indent.
-setlocal indentkeys& indentkeys+=0=extends indentkeys+=0=implements
-
-" Set the function to do the work.
-setlocal indentexpr=GetGroovyIndent()
-
-let b:undo_indent = "set cin< cino< indentkeys< indentexpr<"
-
-" Only define the function once.
-if exists("*GetGroovyIndent")
- finish
-endif
-
-function! SkipGroovyBlanksAndComments(startline)
- let lnum = a:startline
- while lnum > 1
- let lnum = prevnonblank(lnum)
- if getline(lnum) =~ '\*/\s*$'
- while getline(lnum) !~ '/\*' && lnum > 1
- let lnum = lnum - 1
- endwhile
- if getline(lnum) =~ '^\s*/\*'
- let lnum = lnum - 1
- else
- break
- endif
- elseif getline(lnum) =~ '^\s*//'
- let lnum = lnum - 1
- else
- break
- endif
- endwhile
- return lnum
-endfunction
-
-function GetGroovyIndent()
-
- " Groovy is just like C; use the built-in C indenting and then correct a few
- " specific cases.
- let theIndent = cindent(v:lnum)
-
- " If we're in the middle of a comment then just trust cindent
- if getline(v:lnum) =~ '^\s*\*'
- return theIndent
- endif
-
-
- " find start of previous line, in case it was a continuation line
- let lnum = SkipGroovyBlanksAndComments(v:lnum - 1)
- let prev = lnum
- while prev > 1
- let next_prev = SkipGroovyBlanksAndComments(prev - 1)
- if getline(next_prev) !~ ',\s*$'
- break
- endif
- let prev = next_prev
- endwhile
-
-
- " Try to align "throws" lines for methods and "extends" and "implements" for
- " classes.
- if getline(v:lnum) =~ '^\s*\(extends\|implements\)\>'
- \ && getline(lnum) !~ '^\s*\(extends\|implements\)\>'
- let theIndent = theIndent + &sw
- endif
-
- " correct for continuation lines of "throws", "implements" and "extends"
- let cont_kw = matchstr(getline(prev),
- \ '^\s*\zs\(throws\|implements\|extends\)\>\ze.*,\s*$')
- if strlen(cont_kw) > 0
- let amount = strlen(cont_kw) + 1
- if getline(lnum) !~ ',\s*$'
- let theIndent = theIndent - (amount + &sw)
- if theIndent < 0
- let theIndent = 0
- endif
- elseif prev == lnum
- let theIndent = theIndent + amount
- if cont_kw ==# 'throws'
- let theIndent = theIndent + &sw
- endif
- endif
- elseif getline(prev) =~ '^\s*\(throws\|implements\|extends\)\>'
- \ && (getline(prev) =~ '{\s*$'
- \ || getline(v:lnum) =~ '^\s*{\s*$')
- let theIndent = theIndent - &sw
- endif
-
- " When the line starts with a }, try aligning it with the matching {,
- " skipping over "throws", "extends" and "implements" clauses.
- if getline(v:lnum) =~ '^\s*}\s*\(//.*\|/\*.*\)\=$'
- call cursor(v:lnum, 1)
- silent normal %
- let lnum = line('.')
- if lnum < v:lnum
- while lnum > 1
- let next_lnum = SkipGroovyBlanksAndComments(lnum - 1)
- if getline(lnum) !~ '^\s*\(throws\|extends\|implements\)\>'
- \ && getline(next_lnum) !~ ',\s*$'
- break
- endif
- let lnum = prevnonblank(next_lnum)
- endwhile
- return indent(lnum)
- endif
- endif
-
- " Below a line starting with "}" never indent more. Needed for a method
- " below a method with an indented "throws" clause.
- let lnum = SkipGroovyBlanksAndComments(v:lnum - 1)
- if getline(lnum) =~ '^\s*}\s*\(//.*\|/\*.*\)\=$' && indent(lnum) < theIndent
- let theIndent = indent(lnum)
- endif
-
- " Fixed several indent problem
- if theIndent > indent(lnum)
- " if no '{ -> ( if else' , then same indent as previous line
- if getline(lnum) !~ '[\{>\(]\s*$' && getline(lnum) !~ '\s*\(if\|else\)\s*'
- let theIndent = indent(lnum)
- endif
-
- " if last line end with (
- if getline(lnum) =~ '[\(]\s*$'
- let theIndent = indent(lnum) + &sw
- endif
- endif
-
- " indent the ')' line with ( line
- if getline(v:lnum) =~ '^\s*)'
- call cursor(v:lnum, 1)
- silent normal %
- let lnum = line('.')
- if lnum < v:lnum
- while lnum > 1
- let next_lnum = SkipGroovyBlanksAndComments(lnum - 1)
- if getline(lnum) !~ '^\s*\(throws\|extends\|implements\)\>'
- \ && getline(next_lnum) !~ ',\s*$'
- break
- endif
- let lnum = prevnonblank(next_lnum)
- endwhile
- return indent(lnum)
- endif
- endif
-
- return theIndent
-endfunction
-
-" vi: sw=2 et
-
-endif
diff --git a/syntax/groovy.vim b/syntax/groovy.vim
deleted file mode 100644
index 68c9a996..00000000
--- a/syntax/groovy.vim
+++ /dev/null
@@ -1,454 +0,0 @@
-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