blob: e5491b2612c1a04c4d02e81b9c37a3a35f668c32 [file] [log] [blame]
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +02001" Vim syntax file
2" Language: Java
Bram Moolenaar00a927d2010-05-14 23:24:24 +02003" Maintainer: Claudio Fleiner <claudio@fleiner.com>
Bram Moolenaar071d4272004-06-13 20:20:40 +00004" URL: http://www.fleiner.com/vim/syntax/java.vim
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +02005" Last Change: 2012 Oct 05
Bram Moolenaar071d4272004-06-13 20:20:40 +00006
7" Please check :help java.vim for comments on some of the options available.
8
9" Quit when a syntax file was already loaded
10if !exists("main_syntax")
11 if version < 600
12 syntax clear
13 elseif exists("b:current_syntax")
14 finish
15 endif
16 " we define it here so that included files can test for it
17 let main_syntax='java'
Bram Moolenaar5c736222010-01-06 20:54:52 +010018 syn region javaFold start="{" end="}" transparent fold
Bram Moolenaar071d4272004-06-13 20:20:40 +000019endif
20
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +020021let s:cpo_save = &cpo
22set cpo&vim
23
Bram Moolenaar071d4272004-06-13 20:20:40 +000024" don't use standard HiLink, it will not work with included syntax files
25if version < 508
26 command! -nargs=+ JavaHiLink hi link <args>
27else
28 command! -nargs=+ JavaHiLink hi def link <args>
29endif
30
31" some characters that cannot be in a java program (outside a string)
32syn match javaError "[\\@`]"
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +020033syn match javaError "<<<\|\.\.\|=>\|||=\|&&=\|[^-]->\|\*\/"
34
Bram Moolenaar071d4272004-06-13 20:20:40 +000035syn match javaOK "\.\.\."
36
37" use separate name so that it can be deleted in javacc.vim
38syn match javaError2 "#\|=<"
39JavaHiLink javaError2 javaError
40
41
42
43" keyword definitions
44syn keyword javaExternal native package
Bram Moolenaarc9b4b052006-04-30 18:54:39 +000045syn match javaExternal "\<import\>\(\s\+static\>\)\?"
Bram Moolenaar071d4272004-06-13 20:20:40 +000046syn keyword javaError goto const
47syn keyword javaConditional if else switch
48syn keyword javaRepeat while for do
49syn keyword javaBoolean true false
50syn keyword javaConstant null
51syn keyword javaTypedef this super
52syn keyword javaOperator new instanceof
53syn keyword javaType boolean char byte short int long float double
54syn keyword javaType void
55syn keyword javaStatement return
56syn keyword javaStorageClass static synchronized transient volatile final strictfp serializable
57syn keyword javaExceptions throw try catch finally
58syn keyword javaAssert assert
59syn keyword javaMethodDecl synchronized throws
60syn keyword javaClassDecl extends implements interface
61" to differentiate the keyword class from MyClass.class we use a match here
62syn match javaTypedef "\.\s*\<class\>"ms=s+1
63syn keyword javaClassDecl enum
64syn match javaClassDecl "^class\>"
65syn match javaClassDecl "[^.]\s*\<class\>"ms=s+1
Bram Moolenaar00a927d2010-05-14 23:24:24 +020066syn match javaAnnotation "@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a-zA-Z0-9]*\>"
67syn match javaClassDecl "@interface\>"
Bram Moolenaar071d4272004-06-13 20:20:40 +000068syn keyword javaBranch break continue nextgroup=javaUserLabelRef skipwhite
69syn match javaUserLabelRef "\k\+" contained
Bram Moolenaarc9b4b052006-04-30 18:54:39 +000070syn match javaVarArg "\.\.\."
Bram Moolenaar071d4272004-06-13 20:20:40 +000071syn keyword javaScopeDecl public protected private abstract
72
Bram Moolenaar8ada17c2006-01-19 22:16:24 +000073if exists("java_highlight_java_lang_ids")
74 let java_highlight_all=1
75endif
Bram Moolenaar00a927d2010-05-14 23:24:24 +020076if exists("java_highlight_all") || exists("java_highlight_java") || exists("java_highlight_java_lang")
Bram Moolenaar071d4272004-06-13 20:20:40 +000077 " java.lang.*
78 syn match javaLangClass "\<System\>"
Bram Moolenaar8ada17c2006-01-19 22:16:24 +000079 syn keyword javaR_JavaLang NegativeArraySizeException ArrayStoreException IllegalStateException RuntimeException IndexOutOfBoundsException UnsupportedOperationException ArrayIndexOutOfBoundsException ArithmeticException ClassCastException EnumConstantNotPresentException StringIndexOutOfBoundsException IllegalArgumentException IllegalMonitorStateException IllegalThreadStateException NumberFormatException NullPointerException TypeNotPresentException SecurityException
80 syn cluster javaTop add=javaR_JavaLang
81 syn cluster javaClasses add=javaR_JavaLang
82 JavaHiLink javaR_JavaLang javaR_Java
83 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
84 syn cluster javaTop add=javaC_JavaLang
85 syn cluster javaClasses add=javaC_JavaLang
86 JavaHiLink javaC_JavaLang javaC_Java
87 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
88 syn cluster javaTop add=javaE_JavaLang
89 syn cluster javaClasses add=javaE_JavaLang
90 JavaHiLink javaE_JavaLang javaE_Java
91 syn keyword javaX_JavaLang CloneNotSupportedException Exception NoSuchMethodException IllegalAccessException NoSuchFieldException Throwable InterruptedException ClassNotFoundException InstantiationException
92 syn cluster javaTop add=javaX_JavaLang
93 syn cluster javaClasses add=javaX_JavaLang
94 JavaHiLink javaX_JavaLang javaX_Java
95
96 JavaHiLink javaR_Java javaR_
97 JavaHiLink javaC_Java javaC_
98 JavaHiLink javaE_Java javaE_
99 JavaHiLink javaX_Java javaX_
100 JavaHiLink javaX_ javaExceptions
101 JavaHiLink javaR_ javaExceptions
102 JavaHiLink javaE_ javaExceptions
103 JavaHiLink javaC_ javaConstant
104
Bram Moolenaar071d4272004-06-13 20:20:40 +0000105 syn keyword javaLangObject clone equals finalize getClass hashCode
106 syn keyword javaLangObject notify notifyAll toString wait
Bram Moolenaar071d4272004-06-13 20:20:40 +0000107 JavaHiLink javaLangObject javaConstant
Bram Moolenaar8ada17c2006-01-19 22:16:24 +0000108 syn cluster javaTop add=javaLangObject
Bram Moolenaar071d4272004-06-13 20:20:40 +0000109endif
110
111if filereadable(expand("<sfile>:p:h")."/javaid.vim")
112 source <sfile>:p:h/javaid.vim
113endif
114
115if exists("java_space_errors")
116 if !exists("java_no_trail_space_error")
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200117 syn match javaSpaceError "\s\+$"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000118 endif
119 if !exists("java_no_tab_space_error")
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200120 syn match javaSpaceError " \+\t"me=e-1
Bram Moolenaar071d4272004-06-13 20:20:40 +0000121 endif
122endif
123
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200124syn region javaLabelRegion transparent matchgroup=javaLabel start="\<case\>" matchgroup=NONE end=":" contains=javaNumber,javaCharacter
125syn match javaUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=javaLabel
Bram Moolenaar071d4272004-06-13 20:20:40 +0000126syn keyword javaLabel default
127
Bram Moolenaarb6b046b2011-12-30 13:11:27 +0100128" highlighting C++ keywords as errors removed, too many people find it
129" annoying. Was: if !exists("java_allow_cpp_keywords")
Bram Moolenaar071d4272004-06-13 20:20:40 +0000130
131" The following cluster contains all java groups except the contained ones
Bram Moolenaara5792f52005-11-23 21:25:05 +0000132syn 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
Bram Moolenaar071d4272004-06-13 20:20:40 +0000133
134
135" Comments
136syn keyword javaTodo contained TODO FIXME XXX
137if exists("java_comment_strings")
138 syn region javaCommentString contained start=+"+ end=+"+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=javaSpecial,javaCommentStar,javaSpecialChar,@Spell
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200139 syn region javaComment2String contained start=+"+ end=+$\|"+ contains=javaSpecial,javaSpecialChar,@Spell
Bram Moolenaar071d4272004-06-13 20:20:40 +0000140 syn match javaCommentCharacter contained "'\\[^']\{1,6\}'" contains=javaSpecialChar
141 syn match javaCommentCharacter contained "'\\''" contains=javaSpecialChar
142 syn match javaCommentCharacter contained "'[^\\]'"
143 syn cluster javaCommentSpecial add=javaCommentString,javaCommentCharacter,javaNumber
144 syn cluster javaCommentSpecial2 add=javaComment2String,javaCommentCharacter,javaNumber
145endif
146syn region javaComment start="/\*" end="\*/" contains=@javaCommentSpecial,javaTodo,@Spell
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200147syn match javaCommentStar contained "^\s*\*[^/]"me=e-1
148syn match javaCommentStar contained "^\s*\*$"
149syn match javaLineComment "//.*" contains=@javaCommentSpecial2,javaTodo,@Spell
Bram Moolenaar071d4272004-06-13 20:20:40 +0000150JavaHiLink javaCommentString javaString
151JavaHiLink javaComment2String javaString
152JavaHiLink javaCommentCharacter javaCharacter
153
154syn cluster javaTop add=javaComment,javaLineComment
155
156if !exists("java_ignore_javadoc") && main_syntax != 'jsp'
157 syntax case ignore
158 " syntax coloring for javadoc comments (HTML)
159 syntax include @javaHtml <sfile>:p:h/html.vim
160 unlet b:current_syntax
Bram Moolenaar5c736222010-01-06 20:54:52 +0100161 " HTML enables spell checking for all text that is not in a syntax item. This
162 " is wrong for Java (all identifiers would be spell-checked), so it's undone
163 " here.
164 syntax spell default
165
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200166 syn region javaDocComment start="/\*\*" end="\*/" keepend contains=javaCommentTitle,@javaHtml,javaDocTags,javaDocSeeTag,javaTodo,@Spell
167 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,javaDocSeeTag
Bram Moolenaar071d4272004-06-13 20:20:40 +0000168
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +0200169 syn region javaDocTags contained start="{@\(code\|link\|linkplain\|inherit[Dd]oc\|doc[rR]oot\|value\)" end="}"
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200170 syn match javaDocTags contained "@\(param\|exception\|throws\|since\)\s\+\S\+" contains=javaDocParam
171 syn match javaDocParam contained "\s\S\+"
172 syn match javaDocTags contained "@\(version\|author\|return\|deprecated\|serial\|serialField\|serialData\)\>"
173 syn region javaDocSeeTag contained matchgroup=javaDocTags start="@see\s\+" matchgroup=NONE end="\_."re=e-1 contains=javaDocSeeTagParam
Bram Moolenaar8ada17c2006-01-19 22:16:24 +0000174 syn match javaDocSeeTagParam contained @"\_[^"]\+"\|<a\s\+\_.\{-}</a>\|\(\k\|\.\)*\(#\k\+\((\_[^)]\+)\)\=\)\=@ extend
Bram Moolenaar071d4272004-06-13 20:20:40 +0000175 syntax case match
176endif
177
178" match the special comment /**/
179syn match javaComment "/\*\*/"
180
181" Strings and constants
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200182syn match javaSpecialError contained "\\."
Bram Moolenaar071d4272004-06-13 20:20:40 +0000183syn match javaSpecialCharError contained "[^']"
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200184syn match javaSpecialChar contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000185syn region javaString start=+"+ end=+"+ end=+$+ contains=javaSpecialChar,javaSpecialError,@Spell
186" next line disabled, it can cause a crash for a long line
187"syn match javaStringError +"\([^"\\]\|\\.\)*$+
188syn match javaCharacter "'[^']*'" contains=javaSpecialChar,javaSpecialCharError
189syn match javaCharacter "'\\''" contains=javaSpecialChar
190syn match javaCharacter "'[^\\]'"
191syn match javaNumber "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
192syn match javaNumber "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
193syn match javaNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
194syn match javaNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
195
196" unicode characters
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200197syn match javaSpecial "\\u\d\{4\}"
Bram Moolenaar071d4272004-06-13 20:20:40 +0000198
199syn cluster javaTop add=javaString,javaCharacter,javaNumber,javaSpecial,javaStringError
200
201if exists("java_highlight_functions")
202 if java_highlight_functions == "indent"
203 syn match javaFuncDef "^\(\t\| \{8\}\)[_$a-zA-Z][_$a-zA-Z0-9_. \[\]]*([^-+*/()]*)" contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses
204 syn region javaFuncDef start=+^\(\t\| \{8\}\)[$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*,\s*+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses
205 syn match javaFuncDef "^ [$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*)" contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses
206 syn region javaFuncDef start=+^ [$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*,\s*+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses
207 else
208 " This line catches method declarations at any indentation>0, but it assumes
209 " two things:
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200210 " 1. class names are always capitalized (ie: Button)
211 " 2. method names are never capitalized (except constructors, of course)
Bram Moolenaar071d4272004-06-13 20:20:40 +0000212 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
213 endif
214 syn match javaBraces "[{}]"
215 syn cluster javaTop add=javaFuncDef,javaBraces
216endif
217
218if exists("java_highlight_debug")
219
220 " Strings and constants
221 syn match javaDebugSpecial contained "\\\d\d\d\|\\."
222 syn region javaDebugString contained start=+"+ end=+"+ contains=javaDebugSpecial
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200223 syn match javaDebugStringError +"\([^"\\]\|\\.\)*$+
Bram Moolenaar071d4272004-06-13 20:20:40 +0000224 syn match javaDebugCharacter contained "'[^\\]'"
225 syn match javaDebugSpecialCharacter contained "'\\.'"
226 syn match javaDebugSpecialCharacter contained "'\\''"
227 syn match javaDebugNumber contained "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
228 syn match javaDebugNumber contained "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
229 syn match javaDebugNumber contained "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
230 syn match javaDebugNumber contained "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
231 syn keyword javaDebugBoolean contained true false
232 syn keyword javaDebugType contained null this super
233 syn region javaDebugParen start=+(+ end=+)+ contained contains=javaDebug.*,javaDebugParen
234
235 " to make this work you must define the highlighting for these groups
236 syn match javaDebug "\<System\.\(out\|err\)\.print\(ln\)*\s*("me=e-1 contains=javaDebug.* nextgroup=javaDebugParen
Bram Moolenaar293ee4d2004-12-09 21:34:53 +0000237 syn match javaDebug "\<p\s*("me=e-1 contains=javaDebug.* nextgroup=javaDebugParen
Bram Moolenaar071d4272004-06-13 20:20:40 +0000238 syn match javaDebug "[A-Za-z][a-zA-Z0-9_]*\.printStackTrace\s*("me=e-1 contains=javaDebug.* nextgroup=javaDebugParen
239 syn match javaDebug "\<trace[SL]\=\s*("me=e-1 contains=javaDebug.* nextgroup=javaDebugParen
240
241 syn cluster javaTop add=javaDebug
242
243 if version >= 508 || !exists("did_c_syn_inits")
244 JavaHiLink javaDebug Debug
245 JavaHiLink javaDebugString DebugString
246 JavaHiLink javaDebugStringError javaError
247 JavaHiLink javaDebugType DebugType
248 JavaHiLink javaDebugBoolean DebugBoolean
249 JavaHiLink javaDebugNumber Debug
250 JavaHiLink javaDebugSpecial DebugSpecial
251 JavaHiLink javaDebugSpecialCharacter DebugSpecial
252 JavaHiLink javaDebugCharacter DebugString
253 JavaHiLink javaDebugParen Debug
254
255 JavaHiLink DebugString String
256 JavaHiLink DebugSpecial Special
257 JavaHiLink DebugBoolean Boolean
258 JavaHiLink DebugType Type
259 endif
260endif
261
262if exists("java_mark_braces_in_parens_as_errors")
263 syn match javaInParen contained "[{}]"
264 JavaHiLink javaInParen javaError
265 syn cluster javaTop add=javaInParen
266endif
267
268" catch errors caused by wrong parenthesis
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200269syn region javaParenT transparent matchgroup=javaParen start="(" end=")" contains=@javaTop,javaParenT1
Bram Moolenaar071d4272004-06-13 20:20:40 +0000270syn region javaParenT1 transparent matchgroup=javaParen1 start="(" end=")" contains=@javaTop,javaParenT2 contained
271syn region javaParenT2 transparent matchgroup=javaParen2 start="(" end=")" contains=@javaTop,javaParenT contained
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200272syn match javaParenError ")"
Bram Moolenaar293ee4d2004-12-09 21:34:53 +0000273" catch errors caused by wrong square parenthesis
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200274syn region javaParenT transparent matchgroup=javaParen start="\[" end="\]" contains=@javaTop,javaParenT1
Bram Moolenaar293ee4d2004-12-09 21:34:53 +0000275syn region javaParenT1 transparent matchgroup=javaParen1 start="\[" end="\]" contains=@javaTop,javaParenT2 contained
276syn region javaParenT2 transparent matchgroup=javaParen2 start="\[" end="\]" contains=@javaTop,javaParenT contained
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200277syn match javaParenError "\]"
Bram Moolenaar293ee4d2004-12-09 21:34:53 +0000278
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200279JavaHiLink javaParenError javaError
Bram Moolenaar071d4272004-06-13 20:20:40 +0000280
281if !exists("java_minlines")
282 let java_minlines = 10
283endif
284exec "syn sync ccomment javaComment minlines=" . java_minlines
285
286" The default highlighting.
287if version >= 508 || !exists("did_java_syn_inits")
288 if version < 508
289 let did_java_syn_inits = 1
290 endif
291 JavaHiLink javaFuncDef Function
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200292 JavaHiLink javaVarArg Function
Bram Moolenaar071d4272004-06-13 20:20:40 +0000293 JavaHiLink javaBraces Function
294 JavaHiLink javaBranch Conditional
295 JavaHiLink javaUserLabelRef javaUserLabel
296 JavaHiLink javaLabel Label
297 JavaHiLink javaUserLabel Label
298 JavaHiLink javaConditional Conditional
299 JavaHiLink javaRepeat Repeat
300 JavaHiLink javaExceptions Exception
301 JavaHiLink javaAssert Statement
302 JavaHiLink javaStorageClass StorageClass
303 JavaHiLink javaMethodDecl javaStorageClass
304 JavaHiLink javaClassDecl javaStorageClass
305 JavaHiLink javaScopeDecl javaStorageClass
306 JavaHiLink javaBoolean Boolean
307 JavaHiLink javaSpecial Special
308 JavaHiLink javaSpecialError Error
309 JavaHiLink javaSpecialCharError Error
310 JavaHiLink javaString String
311 JavaHiLink javaCharacter Character
312 JavaHiLink javaSpecialChar SpecialChar
313 JavaHiLink javaNumber Number
314 JavaHiLink javaError Error
315 JavaHiLink javaStringError Error
316 JavaHiLink javaStatement Statement
317 JavaHiLink javaOperator Operator
318 JavaHiLink javaComment Comment
319 JavaHiLink javaDocComment Comment
320 JavaHiLink javaLineComment Comment
321 JavaHiLink javaConstant Constant
322 JavaHiLink javaTypedef Typedef
323 JavaHiLink javaTodo Todo
Bram Moolenaar00a927d2010-05-14 23:24:24 +0200324 JavaHiLink javaAnnotation PreProc
Bram Moolenaar071d4272004-06-13 20:20:40 +0000325
326 JavaHiLink javaCommentTitle SpecialComment
327 JavaHiLink javaDocTags Special
328 JavaHiLink javaDocParam Function
Bram Moolenaar8ada17c2006-01-19 22:16:24 +0000329 JavaHiLink javaDocSeeTagParam Function
Bram Moolenaar071d4272004-06-13 20:20:40 +0000330 JavaHiLink javaCommentStar javaComment
331
332 JavaHiLink javaType Type
333 JavaHiLink javaExternal Include
334
335 JavaHiLink htmlComment Special
336 JavaHiLink htmlCommentPart Special
337 JavaHiLink javaSpaceError Error
338endif
339
340delcommand JavaHiLink
341
342let b:current_syntax = "java"
343
344if main_syntax == 'java'
345 unlet main_syntax
346endif
347
348let b:spell_options="contained"
Bram Moolenaar0c5fa7d2012-10-05 22:26:30 +0200349let &cpo = s:cpo_save
350unlet s:cpo_save
Bram Moolenaar071d4272004-06-13 20:20:40 +0000351
352" vim: ts=8