| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | " Vim syntax file | 
					
						
							|  |  |  | " Language:     Java | 
					
						
							|  |  |  | " Maintainer:   Claudio Fleiner <claudio@fleiner.com> | 
					
						
							|  |  |  | " URL:		http://www.fleiner.com/vim/syntax/java.vim | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | " Last Change:  2004 Nov 12 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " 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 <args> | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |   command! -nargs=+ JavaHiLink hi def link <args> | 
					
						
							|  |  |  | 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 | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | syn match javaExternal          "\<import\>\(\s\+static\>\)\?" | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 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*\<class\>"ms=s+1 | 
					
						
							|  |  |  | syn keyword javaClassDecl	enum | 
					
						
							|  |  |  | syn match   javaClassDecl	"^class\>" | 
					
						
							|  |  |  | syn match   javaClassDecl	"[^.]\s*\<class\>"ms=s+1 | 
					
						
							|  |  |  | syn keyword javaBranch		break continue nextgroup=javaUserLabelRef skipwhite | 
					
						
							|  |  |  | syn match   javaUserLabelRef	"\k\+" contained | 
					
						
							|  |  |  | syn keyword javaScopeDecl	public protected private abstract | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if exists("java_highlight_java_lang_ids") || exists("java_highlight_java_lang") || exists("java_highlight_all") | 
					
						
							|  |  |  |   " java.lang.* | 
					
						
							|  |  |  |   syn match javaLangClass "\<System\>" | 
					
						
							|  |  |  |   syn keyword javaLangClass  Cloneable Comparable Runnable Boolean Byte Class | 
					
						
							|  |  |  |   syn keyword javaLangClass  Character CharSequence ClassLoader Compiler Double Float | 
					
						
							|  |  |  |   syn keyword javaLangClass  Integer InheritableThreadLocal Long Math Number Object Package Process | 
					
						
							|  |  |  |   syn keyword javaLangClass  Runtime RuntimePermission InheritableThreadLocal | 
					
						
							|  |  |  |   syn keyword javaLangClass  SecurityManager Short String StrictMath StackTraceElement | 
					
						
							|  |  |  |   syn keyword javaLangClass  StringBuffer Thread ThreadGroup | 
					
						
							|  |  |  |   syn keyword javaLangClass  ThreadLocal Throwable Void ArithmeticException | 
					
						
							|  |  |  |   syn keyword javaLangClass  ArrayIndexOutOfBoundsException AssertionError | 
					
						
							|  |  |  |   syn keyword javaLangClass  ArrayStoreException ClassCastException | 
					
						
							|  |  |  |   syn keyword javaLangClass  ClassNotFoundException | 
					
						
							|  |  |  |   syn keyword javaLangClass  CloneNotSupportedException Exception | 
					
						
							|  |  |  |   syn keyword javaLangClass  IllegalAccessException | 
					
						
							|  |  |  |   syn keyword javaLangClass  IllegalArgumentException | 
					
						
							|  |  |  |   syn keyword javaLangClass  IllegalMonitorStateException | 
					
						
							|  |  |  |   syn keyword javaLangClass  IllegalStateException | 
					
						
							|  |  |  |   syn keyword javaLangClass  IllegalThreadStateException | 
					
						
							|  |  |  |   syn keyword javaLangClass  IndexOutOfBoundsException | 
					
						
							|  |  |  |   syn keyword javaLangClass  InstantiationException InterruptedException | 
					
						
							|  |  |  |   syn keyword javaLangClass  NegativeArraySizeException NoSuchFieldException | 
					
						
							|  |  |  |   syn keyword javaLangClass  NoSuchMethodException NullPointerException | 
					
						
							|  |  |  |   syn keyword javaLangClass  NumberFormatException RuntimeException | 
					
						
							|  |  |  |   syn keyword javaLangClass  SecurityException StringIndexOutOfBoundsException | 
					
						
							|  |  |  |   syn keyword javaLangClass  UnsupportedOperationException | 
					
						
							|  |  |  |   syn keyword javaLangClass  AbstractMethodError ClassCircularityError | 
					
						
							|  |  |  |   syn keyword javaLangClass  ClassFormatError Error ExceptionInInitializerError | 
					
						
							|  |  |  |   syn keyword javaLangClass  IllegalAccessError InstantiationError | 
					
						
							|  |  |  |   syn keyword javaLangClass  IncompatibleClassChangeError InternalError | 
					
						
							|  |  |  |   syn keyword javaLangClass  LinkageError NoClassDefFoundError | 
					
						
							|  |  |  |   syn keyword javaLangClass  NoSuchFieldError NoSuchMethodError | 
					
						
							|  |  |  |   syn keyword javaLangClass  OutOfMemoryError StackOverflowError | 
					
						
							|  |  |  |   syn keyword javaLangClass  ThreadDeath UnknownError UnsatisfiedLinkError | 
					
						
							|  |  |  |   syn keyword javaLangClass  UnsupportedClassVersionError VerifyError | 
					
						
							|  |  |  |   syn keyword javaLangClass  VirtualMachineError | 
					
						
							|  |  |  |   syn keyword javaLangObject clone equals finalize getClass hashCode | 
					
						
							|  |  |  |   syn keyword javaLangObject notify notifyAll toString wait | 
					
						
							|  |  |  |   JavaHiLink javaLangClass		     javaConstant | 
					
						
							|  |  |  |   JavaHiLink javaLangObject		     javaConstant | 
					
						
							|  |  |  |   syn cluster javaTop add=javaLangObject,javaLangClass | 
					
						
							|  |  |  |   syn cluster javaClasses add=javaLangClass | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if filereadable(expand("<sfile>:p:h")."/javaid.vim") | 
					
						
							|  |  |  |   source <sfile>: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="\<case\>" 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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " 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 <sfile>: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 "\<System\.\(out\|err\)\.print\(ln\)*\s*("me=e-1 contains=javaDebug.* nextgroup=javaDebugParen | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  |   syn match javaDebug "\<p\s*("me=e-1 contains=javaDebug.* nextgroup=javaDebugParen | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  |   syn match javaDebug "[A-Za-z][a-zA-Z0-9_]*\.printStackTrace\s*("me=e-1 contains=javaDebug.* nextgroup=javaDebugParen | 
					
						
							|  |  |  |   syn match javaDebug "\<trace[SL]\=\s*("me=e-1 contains=javaDebug.* nextgroup=javaDebugParen | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   syn cluster javaTop add=javaDebug | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   if version >= 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       ")" | 
					
						
							| 
									
										
										
										
											2004-12-09 21:34:53 +00:00
										 |  |  | " 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       "\]" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2004-06-13 20:20:40 +00:00
										 |  |  | 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 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 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 |