Mercurial > vim
comparison runtime/syntax/java.vim @ 29104:c58baa6d6dda
Update runtime files
Commit: https://github.com/vim/vim/commit/63f32603789d1a27c559fc440325955fd0b8b500
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jun 9 20:45:54 2022 +0100
Update runtime files
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 09 Jun 2022 22:00:06 +0200 |
parents | 2f7e67dd088c |
children | 8e12f762d055 |
comparison
equal
deleted
inserted
replaced
29103:6ecf51abe41c | 29104:c58baa6d6dda |
---|---|
1 " Vim syntax file | 1 " Vim syntax file |
2 " Language: Java | 2 " Language: Java |
3 " Maintainer: Claudio Fleiner <claudio@fleiner.com> | 3 " Maintainer: Claudio Fleiner <claudio@fleiner.com> |
4 " URL: https://github.com/fleiner/vim/blob/master/runtime/syntax/java.vim | 4 " URL: https://github.com/fleiner/vim/blob/master/runtime/syntax/java.vim |
5 " Last Change: 2018 July 26 | 5 " Last Change: 2022 Jun 08 |
6 | 6 |
7 " Please check :help java.vim for comments on some of the options available. | 7 " Please check :help java.vim for comments on some of the options available. |
8 | 8 |
9 " quit when a syntax file was already loaded | 9 " quit when a syntax file was already loaded |
10 if !exists("main_syntax") | 10 if !exists("main_syntax") |
20 set cpo&vim | 20 set cpo&vim |
21 | 21 |
22 " some characters that cannot be in a java program (outside a string) | 22 " some characters that cannot be in a java program (outside a string) |
23 syn match javaError "[\\@`]" | 23 syn match javaError "[\\@`]" |
24 syn match javaError "<<<\|\.\.\|=>\|||=\|&&=\|\*\/" | 24 syn match javaError "<<<\|\.\.\|=>\|||=\|&&=\|\*\/" |
25 | |
26 syn match javaOK "\.\.\." | |
27 | 25 |
28 " use separate name so that it can be deleted in javacc.vim | 26 " use separate name so that it can be deleted in javacc.vim |
29 syn match javaError2 "#\|=<" | 27 syn match javaError2 "#\|=<" |
30 hi def link javaError2 javaError | 28 hi def link javaError2 javaError |
31 | 29 |
57 syn keyword javaBranch break continue nextgroup=javaUserLabelRef skipwhite | 55 syn keyword javaBranch break continue nextgroup=javaUserLabelRef skipwhite |
58 syn match javaUserLabelRef "\k\+" contained | 56 syn match javaUserLabelRef "\k\+" contained |
59 syn match javaVarArg "\.\.\." | 57 syn match javaVarArg "\.\.\." |
60 syn keyword javaScopeDecl public protected private abstract | 58 syn keyword javaScopeDecl public protected private abstract |
61 | 59 |
60 function s:isModuleInfoDeclarationCurrentBuffer() abort | |
61 return fnamemodify(bufname("%"), ":t") =~ '^module-info\%(\.class\>\)\@!' | |
62 endfunction | |
63 | |
62 " Java Modules(Since Java 9, for "module-info.java" file) | 64 " Java Modules(Since Java 9, for "module-info.java" file) |
63 if fnamemodify(bufname("%"), ":t") == "module-info.java" | 65 if s:isModuleInfoDeclarationCurrentBuffer() |
64 syn keyword javaModuleStorageClass module transitive | 66 syn keyword javaModuleStorageClass module transitive |
65 syn keyword javaModuleStmt open requires exports opens uses provides | 67 syn keyword javaModuleStmt open requires exports opens uses provides |
66 syn keyword javaModuleExternal to with | 68 syn keyword javaModuleExternal to with |
67 syn cluster javaTop add=javaModuleStorageClass,javaModuleStmt,javaModuleExternal | 69 syn cluster javaTop add=javaModuleStorageClass,javaModuleStmt,javaModuleExternal |
68 endif | 70 endif |
70 if exists("java_highlight_java_lang_ids") | 72 if exists("java_highlight_java_lang_ids") |
71 let java_highlight_all=1 | 73 let java_highlight_all=1 |
72 endif | 74 endif |
73 if exists("java_highlight_all") || exists("java_highlight_java") || exists("java_highlight_java_lang") | 75 if exists("java_highlight_all") || exists("java_highlight_java") || exists("java_highlight_java_lang") |
74 " java.lang.* | 76 " java.lang.* |
75 syn match javaLangClass "\<System\>" | 77 " |
76 syn keyword javaR_JavaLang NegativeArraySizeException ArrayStoreException IllegalStateException RuntimeException IndexOutOfBoundsException UnsupportedOperationException ArrayIndexOutOfBoundsException ArithmeticException ClassCastException EnumConstantNotPresentException StringIndexOutOfBoundsException IllegalArgumentException IllegalMonitorStateException IllegalThreadStateException NumberFormatException NullPointerException TypeNotPresentException SecurityException | 78 " The keywords of javaR_JavaLang, javaC_JavaLang, javaE_JavaLang, |
79 " and javaX_JavaLang are sub-grouped according to the Java version | |
80 " of their introduction, and sub-group keywords (that is, class | |
81 " names) are arranged in alphabetical order, so that future newer | |
82 " keywords can be pre-sorted and appended without disturbing | |
83 " the current keyword placement. The below _match_es follow suit. | |
84 | |
85 syn keyword javaR_JavaLang ArithmeticException ArrayIndexOutOfBoundsException ArrayStoreException ClassCastException IllegalArgumentException IllegalMonitorStateException IllegalThreadStateException IndexOutOfBoundsException NegativeArraySizeException NullPointerException NumberFormatException RuntimeException SecurityException StringIndexOutOfBoundsException IllegalStateException UnsupportedOperationException EnumConstantNotPresentException TypeNotPresentException IllegalCallerException LayerInstantiationException | |
77 syn cluster javaTop add=javaR_JavaLang | 86 syn cluster javaTop add=javaR_JavaLang |
78 syn cluster javaClasses add=javaR_JavaLang | 87 syn cluster javaClasses add=javaR_JavaLang |
79 hi def link javaR_JavaLang javaR_Java | 88 hi def link javaR_JavaLang javaR_Java |
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 | 89 " Member enumerations: |
90 syn match javaC_JavaLang "\%(\<Thread\.\)\@<=\<State\>" | |
91 syn match javaC_JavaLang "\%(\<Character\.\)\@<=\<UnicodeScript\>" | |
92 syn match javaC_JavaLang "\%(\<ProcessBuilder\.Redirect\.\)\@<=\<Type\>" | |
93 syn match javaC_JavaLang "\%(\<StackWalker\.\)\@<=\<Option\>" | |
94 syn match javaC_JavaLang "\%(\<System\.Logger\.\)\@<=\<Level\>" | |
95 " Member classes: | |
96 syn match javaC_JavaLang "\%(\<Character\.\)\@<=\<Subset\>" | |
97 syn match javaC_JavaLang "\%(\<Character\.\)\@<=\<UnicodeBlock\>" | |
98 syn match javaC_JavaLang "\%(\<ProcessBuilder\.\)\@<=\<Redirect\>" | |
99 syn match javaC_JavaLang "\%(\<ModuleLayer\.\)\@<=\<Controller\>" | |
100 syn match javaC_JavaLang "\%(\<Runtime\.\)\@<=\<Version\>" | |
101 syn match javaC_JavaLang "\%(\<System\.\)\@<=\<LoggerFinder\>" | |
102 syn match javaC_JavaLang "\%(\<Enum\.\)\@<=\<EnumDesc\>" | |
103 syn keyword javaC_JavaLang Boolean Character Class ClassLoader Compiler Double Float Integer Long Math Number Object Process Runtime SecurityManager String StringBuffer Thread ThreadGroup Byte Short Void InheritableThreadLocal Package RuntimePermission ThreadLocal StrictMath StackTraceElement Enum ProcessBuilder StringBuilder ClassValue Module ModuleLayer StackWalker Record | |
104 syn match javaC_JavaLang "\<System\>" " See javaDebug. | |
81 syn cluster javaTop add=javaC_JavaLang | 105 syn cluster javaTop add=javaC_JavaLang |
82 syn cluster javaClasses add=javaC_JavaLang | 106 syn cluster javaClasses add=javaC_JavaLang |
83 hi def link javaC_JavaLang javaC_Java | 107 hi def link javaC_JavaLang javaC_Java |
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 | 108 syn keyword javaE_JavaLang AbstractMethodError ClassCircularityError ClassFormatError Error IllegalAccessError IncompatibleClassChangeError InstantiationError InternalError LinkageError NoClassDefFoundError NoSuchFieldError NoSuchMethodError OutOfMemoryError StackOverflowError ThreadDeath UnknownError UnsatisfiedLinkError VerifyError VirtualMachineError ExceptionInInitializerError UnsupportedClassVersionError AssertionError BootstrapMethodError |
85 syn cluster javaTop add=javaE_JavaLang | 109 syn cluster javaTop add=javaE_JavaLang |
86 syn cluster javaClasses add=javaE_JavaLang | 110 syn cluster javaClasses add=javaE_JavaLang |
87 hi def link javaE_JavaLang javaE_Java | 111 hi def link javaE_JavaLang javaE_Java |
88 syn keyword javaX_JavaLang CloneNotSupportedException Exception NoSuchMethodException IllegalAccessException NoSuchFieldException Throwable InterruptedException ClassNotFoundException InstantiationException | 112 syn keyword javaX_JavaLang ClassNotFoundException CloneNotSupportedException Exception IllegalAccessException InstantiationException InterruptedException NoSuchMethodException Throwable NoSuchFieldException ReflectiveOperationException |
89 syn cluster javaTop add=javaX_JavaLang | 113 syn cluster javaTop add=javaX_JavaLang |
90 syn cluster javaClasses add=javaX_JavaLang | 114 syn cluster javaClasses add=javaX_JavaLang |
91 hi def link javaX_JavaLang javaX_Java | 115 hi def link javaX_JavaLang javaX_Java |
92 | 116 |
93 hi def link javaR_Java javaR_ | 117 hi def link javaR_Java javaR_ |
116 if !exists("java_no_tab_space_error") | 140 if !exists("java_no_tab_space_error") |
117 syn match javaSpaceError " \+\t"me=e-1 | 141 syn match javaSpaceError " \+\t"me=e-1 |
118 endif | 142 endif |
119 endif | 143 endif |
120 | 144 |
121 syn region javaLabelRegion transparent matchgroup=javaLabel start="\<case\>" matchgroup=NONE end=":" contains=javaNumber,javaCharacter,javaString | 145 syn region javaLabelRegion transparent matchgroup=javaLabel start="\<case\>" end="->" matchgroup=NONE end=":" contains=javaNumber,javaCharacter,javaString |
122 syn match javaUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=javaLabel | 146 syn match javaUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=javaLabel |
123 syn keyword javaLabel default | 147 syn keyword javaLabel default |
124 | 148 |
125 " highlighting C++ keywords as errors removed, too many people find it | 149 " highlighting C++ keywords as errors removed, too many people find it |
126 " annoying. Was: if !exists("java_allow_cpp_keywords") | 150 " annoying. Was: if !exists("java_allow_cpp_keywords") |
127 | 151 |
128 " The following cluster contains all java groups except the contained ones | 152 " The following cluster contains all java groups except the contained ones |
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 | 153 syn cluster javaTop add=javaExternal,javaError,javaBranch,javaLabelRegion,javaLabel,javaConditional,javaRepeat,javaBoolean,javaConstant,javaTypedef,javaOperator,javaType,javaStatement,javaStorageClass,javaAssert,javaExceptions,javaMethodDecl,javaClassDecl,javaScopeDecl,javaError2,javaUserLabel,javaLangObject,javaAnnotation,javaVarArg |
130 | 154 |
131 | 155 |
132 " Comments | 156 " Comments |
133 syn keyword javaTodo contained TODO FIXME XXX | 157 syn keyword javaTodo contained TODO FIXME XXX |
134 if exists("java_comment_strings") | 158 if exists("java_comment_strings") |
151 syn cluster javaTop add=javaComment,javaLineComment | 175 syn cluster javaTop add=javaComment,javaLineComment |
152 | 176 |
153 if !exists("java_ignore_javadoc") && main_syntax != 'jsp' | 177 if !exists("java_ignore_javadoc") && main_syntax != 'jsp' |
154 syntax case ignore | 178 syntax case ignore |
155 " syntax coloring for javadoc comments (HTML) | 179 " syntax coloring for javadoc comments (HTML) |
156 syntax include @javaHtml <sfile>:p:h/html.vim | 180 syntax include @javaHtml syntax/html.vim |
157 unlet b:current_syntax | 181 unlet b:current_syntax |
158 " HTML enables spell checking for all text that is not in a syntax item. This | 182 " 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 | 183 " is wrong for Java (all identifiers would be spell-checked), so it's undone |
160 " here. | 184 " here. |
161 syntax spell default | 185 syntax spell default |
334 | 358 |
335 hi def link htmlComment Special | 359 hi def link htmlComment Special |
336 hi def link htmlCommentPart Special | 360 hi def link htmlCommentPart Special |
337 hi def link javaSpaceError Error | 361 hi def link javaSpaceError Error |
338 | 362 |
339 if fnamemodify(bufname("%"), ":t") == "module-info.java" | 363 if s:isModuleInfoDeclarationCurrentBuffer() |
340 hi def link javaModuleStorageClass StorageClass | 364 hi def link javaModuleStorageClass StorageClass |
341 hi def link javaModuleStmt Statement | 365 hi def link javaModuleStmt Statement |
342 hi def link javaModuleExternal Include | 366 hi def link javaModuleExternal Include |
343 endif | 367 endif |
344 | 368 |
346 | 370 |
347 if main_syntax == 'java' | 371 if main_syntax == 'java' |
348 unlet main_syntax | 372 unlet main_syntax |
349 endif | 373 endif |
350 | 374 |
375 delfunction! s:isModuleInfoDeclarationCurrentBuffer | |
351 let b:spell_options="contained" | 376 let b:spell_options="contained" |
352 let &cpo = s:cpo_save | 377 let &cpo = s:cpo_save |
353 unlet s:cpo_save | 378 unlet s:cpo_save |
354 | 379 |
355 " vim: ts=8 | 380 " vim: ts=8 |