Mercurial > vim
annotate runtime/syntax/java.vim @ 25373:d5b80262eac9
Added tag v8.2.3223 for changeset c63a2d24b7e2f22c121fa8bf123bfbb59ea1c9fd
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 25 Jul 2021 20:30:05 +0200 |
parents | 2f7e67dd088c |
children | c58baa6d6dda |
rev | line source |
---|---|
3854 | 1 " Vim syntax file |
2 " Language: Java | |
2152 | 3 " Maintainer: Claudio Fleiner <claudio@fleiner.com> |
14421 | 4 " URL: https://github.com/fleiner/vim/blob/master/runtime/syntax/java.vim |
5 " Last Change: 2018 July 26 | |
7 | 6 |
7 " Please check :help java.vim for comments on some of the options available. | |
8 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
6648
diff
changeset
|
9 " quit when a syntax file was already loaded |
7 | 10 if !exists("main_syntax") |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
6648
diff
changeset
|
11 if exists("b:current_syntax") |
7 | 12 finish |
13 endif | |
14 " we define it here so that included files can test for it | |
15 let main_syntax='java' | |
2034 | 16 syn region javaFold start="{" end="}" transparent fold |
7 | 17 endif |
18 | |
3854 | 19 let s:cpo_save = &cpo |
20 set cpo&vim | |
21 | |
7 | 22 " some characters that cannot be in a java program (outside a string) |
23 syn match javaError "[\\@`]" | |
6648 | 24 syn match javaError "<<<\|\.\.\|=>\|||=\|&&=\|\*\/" |
3854 | 25 |
7 | 26 syn match javaOK "\.\.\." |
27 | |
28 " use separate name so that it can be deleted in javacc.vim | |
29 syn match javaError2 "#\|=<" | |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
30 hi def link javaError2 javaError |
7 | 31 |
32 " keyword definitions | |
33 syn keyword javaExternal native package | |
856 | 34 syn match javaExternal "\<import\>\(\s\+static\>\)\?" |
7 | 35 syn keyword javaError goto const |
36 syn keyword javaConditional if else switch | |
37 syn keyword javaRepeat while for do | |
38 syn keyword javaBoolean true false | |
39 syn keyword javaConstant null | |
40 syn keyword javaTypedef this super | |
14421 | 41 syn keyword javaOperator var new instanceof |
7 | 42 syn keyword javaType boolean char byte short int long float double |
43 syn keyword javaType void | |
44 syn keyword javaStatement return | |
45 syn keyword javaStorageClass static synchronized transient volatile final strictfp serializable | |
46 syn keyword javaExceptions throw try catch finally | |
47 syn keyword javaAssert assert | |
48 syn keyword javaMethodDecl synchronized throws | |
49 syn keyword javaClassDecl extends implements interface | |
50 " to differentiate the keyword class from MyClass.class we use a match here | |
51 syn match javaTypedef "\.\s*\<class\>"ms=s+1 | |
52 syn keyword javaClassDecl enum | |
53 syn match javaClassDecl "^class\>" | |
54 syn match javaClassDecl "[^.]\s*\<class\>"ms=s+1 | |
14421 | 55 syn match javaAnnotation "@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a-zA-Z0-9]*\>" contains=javaString |
2152 | 56 syn match javaClassDecl "@interface\>" |
7 | 57 syn keyword javaBranch break continue nextgroup=javaUserLabelRef skipwhite |
58 syn match javaUserLabelRef "\k\+" contained | |
856 | 59 syn match javaVarArg "\.\.\." |
7 | 60 syn keyword javaScopeDecl public protected private abstract |
61 | |
14421 | 62 " Java Modules(Since Java 9, for "module-info.java" file) |
63 if fnamemodify(bufname("%"), ":t") == "module-info.java" | |
64 syn keyword javaModuleStorageClass module transitive | |
65 syn keyword javaModuleStmt open requires exports opens uses provides | |
66 syn keyword javaModuleExternal to with | |
67 syn cluster javaTop add=javaModuleStorageClass,javaModuleStmt,javaModuleExternal | |
68 endif | |
69 | |
632 | 70 if exists("java_highlight_java_lang_ids") |
71 let java_highlight_all=1 | |
72 endif | |
14421 | 73 if exists("java_highlight_all") || exists("java_highlight_java") || exists("java_highlight_java_lang") |
7 | 74 " java.lang.* |
75 syn match javaLangClass "\<System\>" | |
632 | 76 syn keyword javaR_JavaLang NegativeArraySizeException ArrayStoreException IllegalStateException RuntimeException IndexOutOfBoundsException UnsupportedOperationException ArrayIndexOutOfBoundsException ArithmeticException ClassCastException EnumConstantNotPresentException StringIndexOutOfBoundsException IllegalArgumentException IllegalMonitorStateException IllegalThreadStateException NumberFormatException NullPointerException TypeNotPresentException SecurityException |
77 syn cluster javaTop add=javaR_JavaLang | |
78 syn cluster javaClasses add=javaR_JavaLang | |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
79 hi def link javaR_JavaLang javaR_Java |
632 | 80 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 |
81 syn cluster javaTop add=javaC_JavaLang | |
82 syn cluster javaClasses add=javaC_JavaLang | |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
83 hi def link javaC_JavaLang javaC_Java |
632 | 84 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 |
85 syn cluster javaTop add=javaE_JavaLang | |
86 syn cluster javaClasses add=javaE_JavaLang | |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
87 hi def link javaE_JavaLang javaE_Java |
632 | 88 syn keyword javaX_JavaLang CloneNotSupportedException Exception NoSuchMethodException IllegalAccessException NoSuchFieldException Throwable InterruptedException ClassNotFoundException InstantiationException |
89 syn cluster javaTop add=javaX_JavaLang | |
90 syn cluster javaClasses add=javaX_JavaLang | |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
91 hi def link javaX_JavaLang javaX_Java |
632 | 92 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
93 hi def link javaR_Java javaR_ |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
94 hi def link javaC_Java javaC_ |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
95 hi def link javaE_Java javaE_ |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
96 hi def link javaX_Java javaX_ |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
97 hi def link javaX_ javaExceptions |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
98 hi def link javaR_ javaExceptions |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
99 hi def link javaE_ javaExceptions |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
100 hi def link javaC_ javaConstant |
632 | 101 |
7 | 102 syn keyword javaLangObject clone equals finalize getClass hashCode |
103 syn keyword javaLangObject notify notifyAll toString wait | |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
104 hi def link javaLangObject javaConstant |
632 | 105 syn cluster javaTop add=javaLangObject |
7 | 106 endif |
107 | |
108 if filereadable(expand("<sfile>:p:h")."/javaid.vim") | |
109 source <sfile>:p:h/javaid.vim | |
110 endif | |
111 | |
112 if exists("java_space_errors") | |
113 if !exists("java_no_trail_space_error") | |
2152 | 114 syn match javaSpaceError "\s\+$" |
7 | 115 endif |
116 if !exists("java_no_tab_space_error") | |
2152 | 117 syn match javaSpaceError " \+\t"me=e-1 |
7 | 118 endif |
119 endif | |
120 | |
6648 | 121 syn region javaLabelRegion transparent matchgroup=javaLabel start="\<case\>" matchgroup=NONE end=":" contains=javaNumber,javaCharacter,javaString |
2152 | 122 syn match javaUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=javaLabel |
7 | 123 syn keyword javaLabel default |
124 | |
3237 | 125 " highlighting C++ keywords as errors removed, too many people find it |
126 " annoying. Was: if !exists("java_allow_cpp_keywords") | |
7 | 127 |
128 " The following cluster contains all java groups except the contained ones | |
557 | 129 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 |
7 | 130 |
131 | |
132 " Comments | |
133 syn keyword javaTodo contained TODO FIXME XXX | |
134 if exists("java_comment_strings") | |
135 syn region javaCommentString contained start=+"+ end=+"+ end=+$+ end=+\*/+me=s-1,he=s-1 contains=javaSpecial,javaCommentStar,javaSpecialChar,@Spell | |
2152 | 136 syn region javaComment2String contained start=+"+ end=+$\|"+ contains=javaSpecial,javaSpecialChar,@Spell |
7 | 137 syn match javaCommentCharacter contained "'\\[^']\{1,6\}'" contains=javaSpecialChar |
138 syn match javaCommentCharacter contained "'\\''" contains=javaSpecialChar | |
139 syn match javaCommentCharacter contained "'[^\\]'" | |
140 syn cluster javaCommentSpecial add=javaCommentString,javaCommentCharacter,javaNumber | |
141 syn cluster javaCommentSpecial2 add=javaComment2String,javaCommentCharacter,javaNumber | |
142 endif | |
143 syn region javaComment start="/\*" end="\*/" contains=@javaCommentSpecial,javaTodo,@Spell | |
2152 | 144 syn match javaCommentStar contained "^\s*\*[^/]"me=e-1 |
145 syn match javaCommentStar contained "^\s*\*$" | |
146 syn match javaLineComment "//.*" contains=@javaCommentSpecial2,javaTodo,@Spell | |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
147 hi def link javaCommentString javaString |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
148 hi def link javaComment2String javaString |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
149 hi def link javaCommentCharacter javaCharacter |
7 | 150 |
151 syn cluster javaTop add=javaComment,javaLineComment | |
152 | |
153 if !exists("java_ignore_javadoc") && main_syntax != 'jsp' | |
154 syntax case ignore | |
155 " syntax coloring for javadoc comments (HTML) | |
156 syntax include @javaHtml <sfile>:p:h/html.vim | |
157 unlet b:current_syntax | |
2034 | 158 " HTML enables spell checking for all text that is not in a syntax item. This |
159 " is wrong for Java (all identifiers would be spell-checked), so it's undone | |
160 " here. | |
161 syntax spell default | |
162 | |
2152 | 163 syn region javaDocComment start="/\*\*" end="\*/" keepend contains=javaCommentTitle,@javaHtml,javaDocTags,javaDocSeeTag,javaTodo,@Spell |
164 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 | |
7 | 165 |
3854 | 166 syn region javaDocTags contained start="{@\(code\|link\|linkplain\|inherit[Dd]oc\|doc[rR]oot\|value\)" end="}" |
2152 | 167 syn match javaDocTags contained "@\(param\|exception\|throws\|since\)\s\+\S\+" contains=javaDocParam |
168 syn match javaDocParam contained "\s\S\+" | |
169 syn match javaDocTags contained "@\(version\|author\|return\|deprecated\|serial\|serialField\|serialData\)\>" | |
170 syn region javaDocSeeTag contained matchgroup=javaDocTags start="@see\s\+" matchgroup=NONE end="\_."re=e-1 contains=javaDocSeeTagParam | |
632 | 171 syn match javaDocSeeTagParam contained @"\_[^"]\+"\|<a\s\+\_.\{-}</a>\|\(\k\|\.\)*\(#\k\+\((\_[^)]\+)\)\=\)\=@ extend |
7 | 172 syntax case match |
173 endif | |
174 | |
175 " match the special comment /**/ | |
176 syn match javaComment "/\*\*/" | |
177 | |
178 " Strings and constants | |
2152 | 179 syn match javaSpecialError contained "\\." |
7 | 180 syn match javaSpecialCharError contained "[^']" |
2152 | 181 syn match javaSpecialChar contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)" |
7 | 182 syn region javaString start=+"+ end=+"+ end=+$+ contains=javaSpecialChar,javaSpecialError,@Spell |
183 " next line disabled, it can cause a crash for a long line | |
184 "syn match javaStringError +"\([^"\\]\|\\.\)*$+ | |
185 syn match javaCharacter "'[^']*'" contains=javaSpecialChar,javaSpecialCharError | |
186 syn match javaCharacter "'\\''" contains=javaSpecialChar | |
187 syn match javaCharacter "'[^\\]'" | |
6648 | 188 syn match javaNumber "\<\(0[bB][0-1]\+\|0[0-7]*\|0[xX]\x\+\|\d\(\d\|_\d\)*\)[lL]\=\>" |
189 syn match javaNumber "\(\<\d\(\d\|_\d\)*\.\(\d\(\d\|_\d\)*\)\=\|\.\d\(\d\|_\d\)*\)\([eE][-+]\=\d\(\d\|_\d\)*\)\=[fFdD]\=" | |
190 syn match javaNumber "\<\d\(\d\|_\d\)*[eE][-+]\=\d\(\d\|_\d\)*[fFdD]\=\>" | |
191 syn match javaNumber "\<\d\(\d\|_\d\)*\([eE][-+]\=\d\(\d\|_\d\)*\)\=[fFdD]\>" | |
7 | 192 |
193 " unicode characters | |
2152 | 194 syn match javaSpecial "\\u\d\{4\}" |
7 | 195 |
196 syn cluster javaTop add=javaString,javaCharacter,javaNumber,javaSpecial,javaStringError | |
197 | |
198 if exists("java_highlight_functions") | |
199 if java_highlight_functions == "indent" | |
6648 | 200 syn match javaFuncDef "^\(\t\| \{8\}\)[_$a-zA-Z][_$a-zA-Z0-9_. \[\]<>]*([^-+*/]*)" contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses,javaAnnotation |
201 syn region javaFuncDef start=+^\(\t\| \{8\}\)[$_a-zA-Z][$_a-zA-Z0-9_. \[\]<>]*([^-+*/]*,\s*+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses,javaAnnotation | |
202 syn match javaFuncDef "^ [$_a-zA-Z][$_a-zA-Z0-9_. \[\]<>]*([^-+*/]*)" contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses,javaAnnotation | |
203 syn region javaFuncDef start=+^ [$_a-zA-Z][$_a-zA-Z0-9_. \[\]<>]*([^-+*/]*,\s*+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,@javaClasses,javaAnnotation | |
7 | 204 else |
205 " This line catches method declarations at any indentation>0, but it assumes | |
206 " two things: | |
2152 | 207 " 1. class names are always capitalized (ie: Button) |
208 " 2. method names are never capitalized (except constructors, of course) | |
6648 | 209 "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 |
210 syn region javaFuncDef start=+^\s\+\(\(public\|protected\|private\|static\|abstract\|final\|native\|synchronized\)\s\+\)*\(<.*>\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*(+ end=+)+ contains=javaScopeDecl,javaType,javaStorageClass,javaComment,javaLineComment,@javaClasses,javaAnnotation | |
7 | 211 endif |
6648 | 212 syn match javaLambdaDef "[a-zA-Z_][a-zA-Z0-9_]*\s*->" |
7 | 213 syn match javaBraces "[{}]" |
6648 | 214 syn cluster javaTop add=javaFuncDef,javaBraces,javaLambdaDef |
7 | 215 endif |
216 | |
217 if exists("java_highlight_debug") | |
218 | |
219 " Strings and constants | |
220 syn match javaDebugSpecial contained "\\\d\d\d\|\\." | |
221 syn region javaDebugString contained start=+"+ end=+"+ contains=javaDebugSpecial | |
2152 | 222 syn match javaDebugStringError +"\([^"\\]\|\\.\)*$+ |
7 | 223 syn match javaDebugCharacter contained "'[^\\]'" |
224 syn match javaDebugSpecialCharacter contained "'\\.'" | |
225 syn match javaDebugSpecialCharacter contained "'\\''" | |
226 syn match javaDebugNumber contained "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>" | |
227 syn match javaDebugNumber contained "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\=" | |
228 syn match javaDebugNumber contained "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>" | |
229 syn match javaDebugNumber contained "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>" | |
230 syn keyword javaDebugBoolean contained true false | |
231 syn keyword javaDebugType contained null this super | |
232 syn region javaDebugParen start=+(+ end=+)+ contained contains=javaDebug.*,javaDebugParen | |
233 | |
234 " to make this work you must define the highlighting for these groups | |
235 syn match javaDebug "\<System\.\(out\|err\)\.print\(ln\)*\s*("me=e-1 contains=javaDebug.* nextgroup=javaDebugParen | |
36 | 236 syn match javaDebug "\<p\s*("me=e-1 contains=javaDebug.* nextgroup=javaDebugParen |
7 | 237 syn match javaDebug "[A-Za-z][a-zA-Z0-9_]*\.printStackTrace\s*("me=e-1 contains=javaDebug.* nextgroup=javaDebugParen |
238 syn match javaDebug "\<trace[SL]\=\s*("me=e-1 contains=javaDebug.* nextgroup=javaDebugParen | |
239 | |
240 syn cluster javaTop add=javaDebug | |
241 | |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
242 hi def link javaDebug Debug |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
243 hi def link javaDebugString DebugString |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
244 hi def link javaDebugStringError javaError |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
245 hi def link javaDebugType DebugType |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
246 hi def link javaDebugBoolean DebugBoolean |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
247 hi def link javaDebugNumber Debug |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
248 hi def link javaDebugSpecial DebugSpecial |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
249 hi def link javaDebugSpecialCharacter DebugSpecial |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
250 hi def link javaDebugCharacter DebugString |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
251 hi def link javaDebugParen Debug |
7 | 252 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
253 hi def link DebugString String |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
254 hi def link DebugSpecial Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
255 hi def link DebugBoolean Boolean |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
256 hi def link DebugType Type |
7 | 257 endif |
258 | |
259 if exists("java_mark_braces_in_parens_as_errors") | |
260 syn match javaInParen contained "[{}]" | |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
261 hi def link javaInParen javaError |
7 | 262 syn cluster javaTop add=javaInParen |
263 endif | |
264 | |
265 " catch errors caused by wrong parenthesis | |
6648 | 266 syn region javaParenT transparent matchgroup=javaParen start="(" end=")" contains=@javaTop,javaParenT1 |
7 | 267 syn region javaParenT1 transparent matchgroup=javaParen1 start="(" end=")" contains=@javaTop,javaParenT2 contained |
268 syn region javaParenT2 transparent matchgroup=javaParen2 start="(" end=")" contains=@javaTop,javaParenT contained | |
2152 | 269 syn match javaParenError ")" |
36 | 270 " catch errors caused by wrong square parenthesis |
6648 | 271 syn region javaParenT transparent matchgroup=javaParen start="\[" end="\]" contains=@javaTop,javaParenT1 |
36 | 272 syn region javaParenT1 transparent matchgroup=javaParen1 start="\[" end="\]" contains=@javaTop,javaParenT2 contained |
273 syn region javaParenT2 transparent matchgroup=javaParen2 start="\[" end="\]" contains=@javaTop,javaParenT contained | |
2152 | 274 syn match javaParenError "\]" |
36 | 275 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
276 hi def link javaParenError javaError |
7 | 277 |
6648 | 278 if exists("java_highlight_functions") |
279 syn match javaLambdaDef "([a-zA-Z0-9_<>\[\], \t]*)\s*->" | |
280 " needs to be defined after the parenthesis error catcher to work | |
281 endif | |
282 | |
7 | 283 if !exists("java_minlines") |
284 let java_minlines = 10 | |
285 endif | |
286 exec "syn sync ccomment javaComment minlines=" . java_minlines | |
287 | |
288 " The default highlighting. | |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
289 hi def link javaLambdaDef Function |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
290 hi def link javaFuncDef Function |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
291 hi def link javaVarArg Function |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
292 hi def link javaBraces Function |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
293 hi def link javaBranch Conditional |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
294 hi def link javaUserLabelRef javaUserLabel |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
295 hi def link javaLabel Label |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
296 hi def link javaUserLabel Label |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
297 hi def link javaConditional Conditional |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
298 hi def link javaRepeat Repeat |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
299 hi def link javaExceptions Exception |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
300 hi def link javaAssert Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
301 hi def link javaStorageClass StorageClass |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
302 hi def link javaMethodDecl javaStorageClass |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
303 hi def link javaClassDecl javaStorageClass |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
304 hi def link javaScopeDecl javaStorageClass |
14421 | 305 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
306 hi def link javaBoolean Boolean |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
307 hi def link javaSpecial Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
308 hi def link javaSpecialError Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
309 hi def link javaSpecialCharError Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
310 hi def link javaString String |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
311 hi def link javaCharacter Character |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
312 hi def link javaSpecialChar SpecialChar |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
313 hi def link javaNumber Number |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
314 hi def link javaError Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
315 hi def link javaStringError Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
316 hi def link javaStatement Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
317 hi def link javaOperator Operator |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
318 hi def link javaComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
319 hi def link javaDocComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
320 hi def link javaLineComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
321 hi def link javaConstant Constant |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
322 hi def link javaTypedef Typedef |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
323 hi def link javaTodo Todo |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
324 hi def link javaAnnotation PreProc |
7 | 325 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
326 hi def link javaCommentTitle SpecialComment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
327 hi def link javaDocTags Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
328 hi def link javaDocParam Function |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
329 hi def link javaDocSeeTagParam Function |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
330 hi def link javaCommentStar javaComment |
7 | 331 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
332 hi def link javaType Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
333 hi def link javaExternal Include |
7 | 334 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
335 hi def link htmlComment Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
336 hi def link htmlCommentPart Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
337 hi def link javaSpaceError Error |
7 | 338 |
14421 | 339 if fnamemodify(bufname("%"), ":t") == "module-info.java" |
340 hi def link javaModuleStorageClass StorageClass | |
341 hi def link javaModuleStmt Statement | |
342 hi def link javaModuleExternal Include | |
343 endif | |
344 | |
7 | 345 let b:current_syntax = "java" |
346 | |
347 if main_syntax == 'java' | |
348 unlet main_syntax | |
349 endif | |
350 | |
351 let b:spell_options="contained" | |
3854 | 352 let &cpo = s:cpo_save |
353 unlet s:cpo_save | |
7 | 354 |
355 " vim: ts=8 |