Permalink
Browse files

adds groovy support for vi

  • Loading branch information...
1 parent 89978d5 commit 4d17c3555bc01eb99efb46aaec692a0c3748eda0 @druid628 committed Dec 7, 2011
View
3 skel/DOT.vimrc
@@ -97,7 +97,7 @@
set listchars=extends:…,tab:\ \ ,trail:⌫
:filetype plugin on
:syntax on
-
+ au BufNewFile,BufRead *.groovy self groovy
au FileType php set omnifunc=phpcomplete#CompletePHP
let php_sql_query=1
let php_htmlInStrings=1
@@ -107,6 +107,7 @@
endif
+
"------------------------------------------------------------------------------
" KEY MAPPINGS
"------------------------------------------------------------------------------
View
241 vim/plugins/groovy.vim
@@ -0,0 +1,241 @@
+" Vim filetype plugin file
+"
+" Language: Groovy
+"
+" Features: Runs or compiles Groovy scripts. Indents code blocks.
+" Continues comments on adjacent lines. Provides
+" insert-mode abbreviations. F2 for plugin help.
+"
+" Installation: Suggested installation at ~/.vim/ftplugin, or on Windows at
+" <Vim install directory>\vimfiles\ftplugin.
+" 'filetype plugin on' must be specified in .vimrc or _vimrc.
+"
+" Author: Jim Ruley <jimruley+vim@gmail.com>
+"
+" Date Created: April 20, 2008
+"
+" Version: 0.1.2
+"
+" Modification History:
+"
+" April 24, 2008: Properly reset modified indent when leaving
+" buffer.
+"
+" April 23, 2008: Fixed mappings for F4 and F6, and replaced too
+" restrictive cindent.
+
+if exists("b:did_ftplugin") | finish | endif
+let b:did_ftplugin = 1
+
+" Make sure the continuation lines below do not cause problems in
+" compatibility mode.
+let s:save_cpo = &cpo
+set cpo-=C
+
+" For filename completion, prefer .groovy extension over .class extension.
+set suffixes+=.class
+
+" Set 'formatoptions' to break comment lines but not other lines,
+" and insert the comment leader when hitting <CR> or using "o".
+setlocal formatoptions-=t formatoptions+=croql
+
+" Set 'comments' to format dashed lists in comments. Behaves just like C.
+setlocal comments& comments^=sO:*\ -,mO:*\ \ ,exO:*/
+setlocal commentstring=//%s
+
+" Indent
+setlocal smartindent
+setlocal autoindent
+
+" Script variables
+"
+" Replace Windows backslashes, that would be swallowed in Cygwin, with slashes
+let s:GROOVY_HOME = substitute($GROOVY_HOME, "\\", "/", "g")
+let s:GROOVY_PATH = s:GROOVY_HOME . "/bin/groovy"
+let s:GROOVYC_PATH = s:GROOVY_HOME . "/bin/groovyc"
+let s:CLASSPATH_PROMPT = "Specify classpath, or hit Enter for none: "
+let s:ARG_PROMPT = "Specify arg(s), or hit Enter for none: "
+" Buffer variables
+let b:classpath = ""
+let b:args = ""
+
+" Prompt for classpath/args and run
+if !exists("<SID>RunPrompt()")
+ function! <SID>RunPrompt()
+ update
+ silent cd %:p:h
+ if b:classpath == ""
+ let b:classpath = input(s:CLASSPATH_PROMPT)
+ else
+ let changeClasspath = input("Classpath = [". b:classpath . "] Change? (y or n) ")
+ if changeClasspath == "y"
+ let b:classpath = input(s:CLASSPATH_PROMPT)
+ endif
+ endif
+ if b:args == ""
+ let b:args = input(s:ARG_PROMPT)
+ else
+ let changeArgs = input("Arg(s) = [". b:args . "] Change? (y or n) ")
+ if changeArgs == "y"
+ let b:args = input(s:ARG_PROMPT)
+ endif
+ endif
+ if b:classpath == ""
+ if has("win32") || has("win64")
+ execute '!"' . s:GROOVY_PATH . '" ' . expand('%') . ' ' . b:args
+ else
+ execute "!" . s:GROOVY_PATH . " " . expand("%") . " " . b:args
+ endif
+ else
+ if has("win32") || has("win64")
+ execute '!"' . s:GROOVY_PATH . '" -cp ' . b:classpath . ' ' . expand('%') . ' ' . b:args
+ else
+ execute "!" . s:GROOVY_PATH . " -cp " . b:classpath . " " . expand("%") . " " . b:args
+ endif
+ endif
+ silent cd -
+ endfunction
+endif
+
+" Prompt for classpath and compile
+if !exists("<SID>CompilePrompt()")
+ function! <SID>CompilePrompt()
+ update
+ silent cd %:p:h
+ if b:classpath == ""
+ let b:classpath = input(s:CLASSPATH_PROMPT)
+ else
+ let changeClasspath = input("Classpath = [". b:classpath . "] Change? (y or n) ")
+ if changeClasspath == "y"
+ let b:classpath = input(s:CLASSPATH_PROMPT)
+ endif
+ endif
+ if b:classpath == ""
+ if has("win32") || has("win64")
+ execute '!"' . s:GROOVYC_PATH . '" ' . expand('%')
+ else
+ execute "!" . s:GROOVYC_PATH . " " . expand("%")
+ endif
+ else
+ if has("win32") || has("win64")
+ execute '!"' . s:GROOVYC_PATH . '" -cp ' . b:classpath . ' ' . expand('%')
+ else
+ execute "!" . s:GROOVYC_PATH . " -cp " . b:classpath . " " . expand("%")
+ endif
+ endif
+ silent cd -
+ endfunction
+endif
+
+" Run with no classpath/args, or with the previously specified values
+if !exists("<SID>RunNoPrompt()")
+ function! <SID>RunNoPrompt()
+ update
+ silent cd %:p:h
+ if b:classpath == ""
+ if has("win32") || has("win64")
+ execute '!"' . s:GROOVY_PATH . '" ' . expand("%") . ' ' . b:args
+ else
+ execute "!" . s:GROOVY_PATH . " " . expand("%") . " " . b:args
+ endif
+ else
+ if has("win32") || has("win64")
+ execute '!"' . s:GROOVY_PATH . '" -cp ' . b:classpath . ' ' . expand('%') . ' ' . b:args
+ else
+ execute "!" . s:GROOVY_PATH . " -cp " . b:classpath . " " . expand("%") . " " . b:args
+ endif
+ endif
+ silent cd -
+ endfunction
+endif
+
+" Compile with no classpath, or with the previously specified value
+if !exists("<SID>CompileNoPrompt()")
+ function! <SID>CompileNoPrompt()
+ update
+ silent cd %:p:h
+ if b:classpath == ""
+ if has("win32") || has("win64")
+ execute '!"' . s:GROOVYC_PATH . '" ' . expand('%')
+ else
+ execute "!" . s:GROOVYC_PATH . " " . expand("%")
+ endif
+ else
+ if has("win32") || has("win64")
+ execute '!"' . s:GROOVYC_PATH . '" -cp ' . b:classpath . ' ' . expand('%')
+ else
+ execute "!" . s:GROOVYC_PATH . " -cp " . b:classpath . " " . expand("%")
+ endif
+ endif
+ silent cd -
+ endfunction
+endif
+
+" Display function key descriptions and abbreviations
+if !exists("<SID>ShowHelp()")
+ function! <SID>ShowHelp()
+ echo "_____________________________________________________\n\nF3\tRun with prompt for classpath/arguments\nF4\tRun with no (or previous) classpath/arguments\n\nF5\tCompile with prompt for classpath\nF6\tCompile with no (or previous) classpath\n\nInsert Mode Abbreviations:\n\ncl\tclass declaration\ndcp\tdynamic classpath code\nfl\tfor loop\nfli\tfor loop with index\nifes\tif-else statement\nifs\tif statement\nmm\tmain method\npl\tprintln\nplg\tprintln with GString\npls\tprintln with string\nsf\tstatic final\nsw\tswitch statement\ntc\ttry-catch\ntcf\ttry-catch-finally\nwl\twhile loop\n "
+ endfunction
+endif
+
+" Remove the space after an abbreviation
+if !exists("<SID>RemoveSpace")
+ function! <SID>RemoveSpace()
+ let c = nr2char(getchar(0))
+ return (c =~ '\s') ? '' : c
+ endfunction
+endif
+
+if !hasmapto("<SID>ShowHelp()", "n")
+ nmap <buffer><unique><silent> <F2> :call <SID>ShowHelp()<CR>
+endif
+if !hasmapto("<SID>RunPrompt()", "n")
+ nmap <buffer><unique><silent> <F3> :call <SID>RunPrompt()<CR>
+endif
+if !hasmapto("<SID>RunNoPrompt()")
+ nmap <buffer><unique><silent> <F4> :call <SID>RunNoPrompt()<CR>
+endif
+if !hasmapto("<SID>CompilePrompt()")
+ nmap <buffer><unique><silent> <F5> :call <SID>CompilePrompt()<CR>
+endif
+if !hasmapto("<SID>CompileNoPrompt()")
+ nmap <buffer><unique><silent> <F6> :call <SID>CompileNoPrompt()<CR>
+endif
+
+" Display a help key reminder when first loading Vim (with a Groovy file)
+au VimEnter *.groovy echo "F2 for Groovy plugin help"
+
+" Abbreviations
+ia <buffer> cl class {<CR>}<Esc>kf{i<C-R>=<SID>RemoveSpace()<CR>
+ia <buffer> dcp this.class.classLoader.rootLoader.addURL(new URL('file:///'))<Esc>F'i<C-R>=<SID>RemoveSpace()<CR>
+ia <buffer> fl for( in ){<CR>}<Esc>kf(a<C-R>=<SID>RemoveSpace()<CR>
+ia <buffer> fli for(int i = 0; i < ; i++){<CR>}<Esc>kf;f;i<C-R>=<SID>RemoveSpace()<CR>
+ia <buffer> ifes if(){<CR>}else{<CR>}<Esc>kkf(a<C-R>=<SID>RemoveSpace()<CR>
+ia <buffer> ifs if(){<CR>}<Esc>kf(a<C-R>=<SID>RemoveSpace()<CR>
+ia <buffer> mm static main(args){<CR>}<Esc>kA<CR><Tab><C-R>=<SID>RemoveSpace()<CR>
+ia <buffer> pl println <C-R>=<SID>RemoveSpace()<CR>
+ia <buffer> plg println "${}"<Left><Left><C-R>=<SID>RemoveSpace()<CR>
+ia <buffer> pls println ''<Left><C-R>=<SID>RemoveSpace()<CR>
+ia <buffer> sf static final <C-R>=<SID>RemoveSpace()<CR>
+ia <buffer> sw switch(){<CR>}<Esc>kf(a<C-R>=<SID>RemoveSpace()<CR>
+ia <buffer> tc try{<CR>}catch(){<CR>}<Esc>kkA<CR><C-R>=<SID>RemoveSpace()<CR>
+ia <buffer> tcf try{<CR>}catch(){<CR>}finally{<CR>}<Esc>kkkA<CR><C-R>=<SID>RemoveSpace()<CR>
+ia <buffer> wl while(){<CR>}<Esc>kf(a<C-R>=<SID>RemoveSpace()<CR>
+
+" Change the :browse e filter to primarily show Groovy-related files.
+if has("gui_win32") && !exists("b:browsefilter")
+ let b:browsefilter="Groovy Files (*.groovy)\t*.groovy\n" .
+ \ "Java Files (*.java)\t*.java\n" .
+ \ "GSP Files (*.gsp)\t*.gsp\n" .
+ \ "All Files (*.*)\t*.*\n"
+endif
+
+" Undo the stuff we changed.
+let b:undo_ftplugin = "setlocal suffixes< suffixesadd<" .
+ \ " formatoptions< comments< commentstring< path< includeexpr<" .
+ \ " smartindent<" .
+ \ " autoindent<" .
+ \ " | unlet! b:browsefilter"
+
+" Restore the saved compatibility options.
+let &cpo = s:save_cpo
View
0 vim/snipMate.zip → vim/plugins/snipMate.zip
File renamed without changes.
View
6 vim/scripts.vim
@@ -0,0 +1,6 @@
+if did_filetype()
+ finish
+endif
+if getline(1) =~ '^#!.*[/\\]groovy\>'
+ setf groovy
+endif
View
450 vim/syntax/groovy.vim
@@ -0,0 +1,450 @@
+" 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
View
0 vim/javacomplete0.77.1.2.zip → vim/syntax/javacomplete0.77.1.2.zip
File renamed without changes.

0 comments on commit 4d17c35

Please sign in to comment.