yntax file " Language: Java " " Maintainer: Claudio Fleiner " " URL: http://www.fleiner.com/vim/syntax/java.vim " " Last Change: 2005 Nov 12 " " " Please check :help java.vim for comments on some of the options available. " " " 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='java' " endif " " " don't use standard HiLink, it will not work with " included syntax files " if version < 508 " command! -nargs=+ JavaHiLink hi link " else " command! -nargs=+ JavaHiLink hi def link " endif " " " some characters that cannot be in a java program " (outside a string) " syn match javaError "[\\@`]" " syn match javaError " "<<<\|\.\.\|=>\|<>\|||=\|&&=\|[^-]->\|\*\/" " syn match javaOK "\.\.\." " " " use separate name so that it can be deleted in " javacc.vim " syn match javaError2 "#\|=<" " JavaHiLink javaError2 javaError " " " " " keyword definitions " syn keyword javaExternal native package " syn match javaExternal " "\\(\s\+static\>\)\?" " syn keyword javaError goto const " syn keyword javaConditional if else switch " syn keyword javaRepeat while for do " syn keyword javaBoolean true false " syn keyword javaConstant null " syn keyword javaTypedef this super " syn keyword javaOperator new instanceof " syn keyword javaType boolean char byte short " int long float double " syn keyword javaType void " syn keyword javaStatement return " syn keyword javaStorageClass static synchronized " transient volatile final strictfp serializable " syn keyword javaExceptions throw try catch finally " syn keyword javaAssert assert " syn keyword javaMethodDecl synchronized throws " syn keyword javaClassDecl extends implements " interface " " to differentiate the keyword class from " MyClass.class we use a match here " syn match javaTypedef "\.\s*\"ms=s+1 " syn keyword javaClassDecl enum " syn match javaClassDecl "^class\>" " syn match javaClassDecl "[^.]\s*\"ms=s+1 " syn match javaAnnotation " "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>" " syn match javaClassDecl "@interface\>" " syn keyword javaBranch break continue " nextgroup=javaUserLabelRef skipwhite " syn match javaUserLabelRef "\k\+" contained " syn match javaVarArg "\.\.\." " syn keyword javaScopeDecl public protected private " abstract " " if exists("java_highlight_java_lang_ids") " let java_highlight_all=1 " endif " if exists("java_highlight_all") || " exists("java_highlight_java") || " exists("java_highlight_java_lang") " " java.lang.* " syn match javaLangClass "\" " syn keyword javaR_JavaLang " NegativeArraySizeException ArrayStoreException " IllegalStateException RuntimeException " IndexOutOfBoundsException " UnsupportedOperationException " ArrayIndexOutOfBoundsException " ArithmeticException ClassCastException " EnumConstantNotPresentException " StringIndexOutOfBoundsException " IllegalArgumentException " IllegalMonitorStateException " IllegalThreadStateException " NumberFormatException NullPointerException " TypeNotPresentException SecurityException " syn cluster javaTop add=javaR_JavaLang " syn cluster javaClasses add=javaR_JavaLang " JavaHiLink javaR_JavaLang javaR_Java " syn keyword javaC_JavaLang Process " RuntimePermission StringKeySet " CharacterData01 Class ThreadLocal " ThreadLocalMap CharacterData0E Package " Character StringCoding Long " ProcessImpl ProcessEnvironment Short " AssertionStatusDirectives " 1PackageInfoProxy UnicodeBlock " InheritableThreadLocal " AbstractStringBuilder " StringEnvironment ClassLoader " ConditionalSpecialCasing " CharacterDataPrivateUse StringBuffer " StringDecoder Entry StringEntry " WrappedHook StringBuilder StrictMath " State ThreadGroup Runtime " CharacterData02 MethodArray Object " CharacterDataUndefined Integer Gate " Boolean Enum Variable Subset " StringEncoder Void Terminator " CharsetSD IntegerCache CharacterCache " Byte CharsetSE Thread " SystemClassLoaderAction " CharacterDataLatin1 StringValues " StackTraceElement Shutdown ShortCache " String ConverterSD ByteCache Lock " EnclosingMethodInfo Math Float Value " Double SecurityManager LongCache " ProcessBuilder StringEntrySet Compiler " Number UNIXProcess ConverterSE " ExternalData CaseInsensitiveComparator " CharacterData00 NativeLibrary " syn cluster javaTop " add=javaC_JavaLang " syn cluster javaClasses " add=javaC_JavaLang " JavaHiLink javaC_JavaLang " javaC_Java " syn keyword javaE_JavaLang " IncompatibleClassChangeError " InternalError UnknownError " ClassCircularityError " AssertionError ThreadDeath " IllegalAccessError " NoClassDefFoundError " ClassFormatError " UnsupportedClassVersionError " NoSuchFieldError VerifyError " ExceptionInInitializerError " InstantiationError " LinkageError NoSuchMethodError " Error UnsatisfiedLinkError " StackOverflowError " AbstractMethodError " VirtualMachineError " OutOfMemoryError " syn cluster javaTop " add=javaE_JavaLang " syn cluster javaClasses " add=javaE_JavaLang " JavaHiLink " javaE_JavaLang " javaE_Java " syn keyword " javaX_JavaLang " CloneNotSupportedException " Exception " NoSuchMethodException " IllegalAccessException " NoSuchFieldException " Throwable " InterruptedException " ClassNotFoundException " InstantiationException " syn cluster javaTop " add=javaX_JavaLang " syn cluster " javaClasses " add=javaX_JavaLang " JavaHiLink " javaX_JavaLang " javaX_Java " " JavaHiLink " javaR_Java " javaR_ " JavaHiLink " javaC_Java " javaC_ " JavaHiLink " javaE_Java " javaE_ " JavaHiLink " javaX_Java " javaX_ " JavaHiLink " javaX_ " javaExceptions " JavaHiLink " javaR_ " javaExceptions " JavaHiLink " javaE_ " javaExceptions " JavaHiLink " javaC_ " javaConstant " " syn " keyword " javaLangObject " clone " equals " finalize " getClass " hashCode " syn " keyword " javaLangObject " notify " notifyAll " toString " wait " JavaHiLink " javaLangObject " javaConstant " syn " cluster " javaTop " add=javaLangObject " endif " " if " filereadable(expand(":p:h")."/javaid.vim") " source " :p:h/javaid.vim " endif " " if " exists("java_space_errors") " if " !exists("java_no_trail_space_error") " syn " match " javaSpaceError " "\s\+$" " endif " if " !exists("java_no_tab_space_error") " syn " match " javaSpaceError " " " \+\t"me=e-1 " endif " endif " " syn " region " javaLabelRegion " transparent " matchgroup=javaLabel " start="\" " matchgroup=NONE " end=":" " contains=javaNumber,javaCharacter " syn " match " javaUserLabel " "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 " contains=javaLabel " syn " keyword " javaLabel " default " " if " !exists("java_allow_cpp_keywords") " syn " keyword " javaError " auto " delete " extern " friend " inline " redeclared " syn " keyword " javaError " register " signed " sizeof " struct " template " typedef " union " syn " keyword " javaError " unsigned " operator " endif " " " " The " following " cluster " contains " all " java " groups " except " the " contained " ones " syn " cluster " javaTop " add=javaExternal,javaError,javaError,javaBranch,javaLabelRegion,javaLabel,javaConditional,javaRepeat,javaBoolean,javaConstant,javaTypedef,javaOperator,javaType,javaType,javaStatement,javaStorageClass,javaAssert,javaExceptions,javaMethodDecl,javaClassDecl,javaClassDecl,javaClassDecl,javaScopeDecl,javaError,javaError2,javaUserLabel,javaLangObject,javaAnnotation,javaVarArg " " " " " Comments " syn " keyword " javaTodo " contained " TODO " FIXME " XXX " if " exists("java_comment_strings") " syn " region " javaCommentString " contained " start=+"+ " end=+"+ " end=+$+ " end=+\*/+me=s-1,he=s-1 " contains=javaSpecial,javaCommentStar,javaSpecialChar,@Spell " syn " region " javaComment2String " contained " start=+"+ " end=+$\|"+ " contains=javaSpecial,javaSpecialChar,@Spell " syn " match " javaCommentCharacter " contained " "'\\[^']\{1,6\}'" " contains=javaSpecialChar " syn " match " javaCommentCharacter " contained " "'\\''" " contains=javaSpecialChar " syn " match " javaCommentCharacter " contained " "'[^\\]'" " syn " cluster " javaCommentSpecial " add=javaCommentString,javaCommentCharacter,javaNumber " syn " cluster " javaCommentSpecial2 " add=javaComment2String,javaCommentCharacter,javaNumber " endif " syn " region " javaComment " start="/\*" " end="\*/" " contains=@javaCommentSpecial,javaTodo,@Spell " syn " match " javaCommentStar " contained " "^\s*\*[^/]"me=e-1 " syn " match " javaCommentStar " contained " "^\s*\*$" " syn " match " javaLineComment " "//.*" " contains=@javaCommentSpecial2,javaTodo,@Spell " JavaHiLink " javaCommentString " javaString " JavaHiLink " javaComment2String " javaString " JavaHiLink " javaCommentCharacter " javaCharacter " " syn " cluster " javaTop " add=javaComment,javaLineComment " " if " !exists("java_ignore_javadoc") " && " main_syntax " != " 'jsp' " syntax " case " ignore " " " syntax " coloring " for " javadoc " comments " (HTML) " syntax " include " @javaHtml " :p:h/html.vim " unlet " b:current_syntax " syn " region " javaDocComment " start="/\*\*" " end="\*/" " keepend " contains=javaCommentTitle,@javaHtml,javaDocTags,javaTodo,@Spell " syn " region " javaCommentTitle " contained " matchgroup=javaDocComment " start="/\*\*" " matchgroup=javaCommentTitle " keepend " end="\.$" " end="\.[ " \t\r<&]"me=e-1 " end="[^{]@"me=s-2,he=s-1 " end="\*/"me=s-1,he=s-1 " contains=@javaHtml,javaCommentStar,javaTodo,@Spell,javaDocTags " " syn " region " javaDocTags " contained " start="{@\(link\|linkplain\|inherit[Dd]oc\|doc[rR]oot\|value\)" " end="}" " syn " match " javaDocTags " contained " "@\(see\|param\|exception\|throws\|since\)\s\+\S\+" " contains=javaDocParam " syn " match " javaDocParam " contained " "\s\S\+" " syn " match " javaDocTags " contained " "@\(version\|author\|return\|deprecated\|serial\|serialField\|serialData\)\>" " syntax " case " match " endif " " " " match " the " special " comment " /**/ " syn " match " javaComment " "/\*\*/" " " " " Strings " and " constants " syn " match " javaSpecialError " contained " "\\." " syn " match " javaSpecialCharError " contained " "[^']" " syn " match " javaSpecialChar " contained " "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)" " syn " region " javaString " start=+"+ " end=+"+ " end=+$+ " contains=javaSpecialChar,javaSpecialError,@Spell " " " next " line " disabled, " it " can " cause " a " crash " for " a " long " line " "syn " match " javaStringError " +"\([^"\\]\|\\.\)*$+ " syn " match " javaCharacter " "'[^']*'" " contains=javaSpecialChar,javaSpecialCharError " syn " match " javaCharacter " "'\\''" " contains=javaSpecialChar " syn " match " javaCharacter " "'[^\\]'" " syn " match " javaNumber " "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>" " syn " match " javaNumber " "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\=" " syn " match " javaNumber " "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" " syn " match " javaNumber " "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>" " " " " unicode " characters " syn " match " javaSpecial " "\\u\d\{4\}" " " syn " cluster " javaTop " add=javaString,javaCharacter,javaNumber,javaSpecial,javaStringError " " if " exists("java_highlight_functions") " if " java_highlight_functions " == " "indent" " syn " match " javaFuncDef " "^\(\t\| " \{8\}\)[_$a-zA-Z][_$a-zA-Z0-9_. " \[\]]*([^-+*/()]*)" " contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses " syn " region " javaFuncDef " start=+^\(\t\| " \{8\}\)[$_a-zA-Z][$_a-zA-Z0-9_. " \[\]]*([^-+*/()]*,\s*+ " end=+)+ " contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses " syn " match " javaFuncDef " "^ " [$_a-zA-Z][$_a-zA-Z0-9_. " \[\]]*([^-+*/()]*)" " contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses " syn " region " javaFuncDef " start=+^ " [$_a-zA-Z][$_a-zA-Z0-9_. " \[\]]*([^-+*/()]*,\s*+ " end=+)+ " contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses " 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 " javaFuncDef " 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=javaScopeDecl,javaType,javaStorageClass,javaComment,javaLineComment,@javaClasses " endif " syn " match " javaBraces " "[{}]" " syn " cluster " javaTop " add=javaFuncDef,javaBraces " endif " " if " exists("java_highlight_debug") " " " " Strings " and " constants " syn " match " javaDebugSpecial " contained " "\\\d\d\d\|\\." " syn " region " javaDebugString " contained " start=+"+ " end=+"+ " contains=javaDebugSpecial " syn " match " javaDebugStringError " +"\([^"\\]\|\\.\)*$+ " syn " match " javaDebugCharacter " contained " "'[^\\]'" " syn " match " javaDebugSpecialCharacter " contained " "'\\.'" " syn " match " javaDebugSpecialCharacter " contained " "'\\''" " syn " match " javaDebugNumber " contained " "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>" " syn " match " javaDebugNumber " contained " "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\=" " syn " match " javaDebugNumber " contained " "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" " syn " match " javaDebugNumber " contained " "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>" " syn " keyword " javaDebugBoolean " contained " true " false " syn " keyword " javaDebugType " contained " null " this " super " syn " region " javaDebugParen " start=+(+ " end=+)+ " contained " contains=javaDebug.*,javaDebugParen " " " " to " make " this " work " you " must " define " the " highlighting " for " these " groups " syn " match " javaDebug " "\= " 508 " || " !exists("did_c_syn_inits") " JavaHiLink " javaDebug " Debug " JavaHiLink " javaDebugString " DebugString " JavaHiLink " javaDebugStringError " javaError " JavaHiLink " javaDebugType " DebugType " JavaHiLink " javaDebugBoolean " DebugBoolean " JavaHiLink " javaDebugNumber " Debug " JavaHiLink " javaDebugSpecial " DebugSpecial " JavaHiLink " javaDebugSpecialCharacter " DebugSpecial " JavaHiLink " javaDebugCharacter " DebugString " JavaHiLink " javaDebugParen " Debug " " JavaHiLink " DebugString " String " JavaHiLink " DebugSpecial " Special " JavaHiLink " DebugBoolean " Boolean " JavaHiLink " DebugType " Type " endif " endif " " if " exists("java_mark_braces_in_parens_as_errors") " syn " match " javaInParen " contained " "[{}]" " JavaHiLink " javaInParen " javaError " syn " cluster " javaTop " add=javaInParen " endif " " " " catch " errors " caused " by " wrong " parenthesis " syn " region " javaParenT " transparent " matchgroup=javaParen " start="(" " end=")" " contains=@javaTop,javaParenT1 " syn " region " javaParenT1 " transparent " matchgroup=javaParen1 " start="(" " end=")" " contains=@javaTop,javaParenT2 " contained " syn " region " javaParenT2 " transparent " matchgroup=javaParen2 " start="(" " end=")" " contains=@javaTop,javaParenT " contained " syn " match " javaParenError " ")" " " " catch " errors " caused " by " wrong " square " parenthesis " syn " region " javaParenT " transparent " matchgroup=javaParen " start="\[" " end="\]" " contains=@javaTop,javaParenT1 " syn " region " javaParenT1 " transparent " matchgroup=javaParen1 " start="\[" " end="\]" " contains=@javaTop,javaParenT2 " contained " syn " region " javaParenT2 " transparent " matchgroup=javaParen2 " start="\[" " end="\]" " contains=@javaTop,javaParenT " contained " syn " match " javaParenError " "\]" " " JavaHiLink " javaParenError " javaError " " if " !exists("java_minlines") " let " java_minlines " = " 10 " endif " exec " "syn " sync " ccomment " javaComment " minlines=" " . " java_minlines " " " " The " default " highlighting. " if " version " >= " 508 " || " !exists("did_java_syn_inits") " if " version " < " 508 " let " did_java_syn_inits " = " 1 " endif " JavaHiLink " javaFuncDef " Function " JavaHiLink " javaVarArg " Function " JavaHiLink " javaBraces " Function " JavaHiLink " javaBranch " Conditional " JavaHiLink " javaUserLabelRef " javaUserLabel " JavaHiLink " javaLabel " Label " JavaHiLink " javaUserLabel " Label " JavaHiLink " javaConditional " Conditional " JavaHiLink " javaRepeat " Repeat " JavaHiLink " javaExceptions " Exception " JavaHiLink " javaAssert " Statement " JavaHiLink " javaStorageClass " StorageClass " JavaHiLink " javaMethodDecl " javaStorageClass " JavaHiLink " javaClassDecl " javaStorageClass " JavaHiLink " javaScopeDecl " javaStorageClass " JavaHiLink " javaBoolean " Boolean " JavaHiLink " javaSpecial " Special " JavaHiLink " javaSpecialError " Error " JavaHiLink " javaSpecialCharError " Error " JavaHiLink " javaString " String " JavaHiLink " javaCharacter " Character " JavaHiLink " javaSpecialChar " SpecialChar " JavaHiLink " javaNumber " Number " JavaHiLink " javaError " Error " JavaHiLink " javaStringError " Error " JavaHiLink " javaStatement " Statement " JavaHiLink " javaOperator " Operator " JavaHiLink " javaComment " Comment " JavaHiLink " javaDocComment " Comment " JavaHiLink " javaLineComment " Comment " JavaHiLink " javaConstant " Constant " JavaHiLink " javaTypedef " Typedef " JavaHiLink " javaTodo " Todo " JavaHiLink " javaAnnotation " PreProc " " JavaHiLink " javaCommentTitle " SpecialComment " JavaHiLink " javaDocTags " Special " JavaHiLink " javaDocParam " Function " JavaHiLink " javaCommentStar " javaComment " " JavaHiLink " javaType " Type " JavaHiLink " javaExternal " Include " " JavaHiLink " htmlComment " Special " JavaHiLink " htmlCommentPart " Special " JavaHiLink " javaSpaceError " Error " endif " " delcommand " JavaHiLink " " let " b:current_syntax " = " "java" " " if " main_syntax " == " 'java' " unlet " main_syntax " endif " " let " b:spell_options="contained" " " " " vim: " ts=8