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