forked from aniani/vim
runtime(java): Make changes for JDK 24 in syntax script
- "Demote" SecurityManager from the list of java.lang class types to javaLangDeprecated. - Reintroduce supported syntax-preview-feature numbers 455 and 476 as _new numbers_ 488 and 494, respectively. References: - https://openjdk.org/jeps/486 (Permanently Disable the Security Manager) - https://openjdk.org/jeps/488 (Primitive Types in Patterns etc.) - https://openjdk.org/jeps/494 (Module Import Declarations) closes: #16977 Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
f2b16986a1
commit
1054b18291
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Aliaksei Budavei <0x000c70 AT gmail DOT com>
|
||||
" Former Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
||||
" Repository: https://github.com/zzzyxwvut/java-vim.git
|
||||
" Last Change: 2025 Jan 02
|
||||
" Last Change: 2025 Mar 26
|
||||
|
||||
" Please check ":help java.vim" for comments on some of the options
|
||||
" available.
|
||||
@@ -46,8 +46,10 @@ function! s:ff.RightConstant(x, y) abort
|
||||
return a:y
|
||||
endfunction
|
||||
|
||||
function! s:ff.IsRequestedPreviewFeature(n) abort
|
||||
return exists("g:java_syntax_previews") && index(g:java_syntax_previews, a:n) + 1
|
||||
function! s:ff.IsAnyRequestedPreviewFeatureOf(ns) abort
|
||||
return exists("g:java_syntax_previews") &&
|
||||
\ !empty(filter(a:ns, printf('index(%s, v:val) + 1',
|
||||
\ string(g:java_syntax_previews))))
|
||||
endfunction
|
||||
|
||||
if !exists("*s:ReportOnce")
|
||||
@@ -108,7 +110,7 @@ syn keyword javaTypedef this super
|
||||
syn keyword javaOperator new instanceof
|
||||
syn match javaOperator "\<var\>\%(\s*(\)\@!"
|
||||
|
||||
if s:ff.IsRequestedPreviewFeature(476)
|
||||
if s:ff.IsAnyRequestedPreviewFeatureOf([476, 494])
|
||||
" Module imports can be used in any source file.
|
||||
syn match javaExternal "\<import\s\+module\>" contains=javaModuleImport
|
||||
syn keyword javaModuleImport contained module
|
||||
@@ -262,8 +264,12 @@ if exists("g:java_highlight_all") || exists("g:java_highlight_java") || exists("
|
||||
syn keyword javaC_JavaLang Class InheritableThreadLocal ThreadLocal Enum ClassValue
|
||||
endif
|
||||
|
||||
" As of JDK 21, java.lang.Compiler is no more (deprecated in JDK 9).
|
||||
syn keyword javaLangDeprecated Compiler
|
||||
" As of JDK 24, SecurityManager is rendered non-functional
|
||||
" (JDK-8338625).
|
||||
" (Note that SecurityException and RuntimePermission are still
|
||||
" not deprecated.)
|
||||
" As of JDK 21, Compiler is no more (JDK-8205129).
|
||||
syn keyword javaLangDeprecated Compiler SecurityManager
|
||||
syn cluster javaClasses add=javaC_JavaLang
|
||||
hi def link javaC_JavaLang javaC_Java
|
||||
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
|
||||
@@ -311,7 +317,7 @@ endif
|
||||
|
||||
exec 'syn match javaUserLabel "^\s*\<\K\k*\>\%(\<default\>\)\@' . s:ff.Peek('7', '') . '<!\s*::\@!"he=e-1'
|
||||
|
||||
if s:ff.IsRequestedPreviewFeature(455)
|
||||
if s:ff.IsAnyRequestedPreviewFeatureOf([455, 488])
|
||||
syn region javaLabelRegion transparent matchgroup=javaLabel start="\<case\>" matchgroup=NONE end=":\|->" contains=javaBoolean,javaNumber,javaCharacter,javaString,javaConstant,@javaClasses,javaGenerics,javaType,javaLabelDefault,javaLabelVarType,javaLabelWhenClause
|
||||
else
|
||||
syn region javaLabelRegion transparent matchgroup=javaLabel start="\<case\>" matchgroup=NONE end=":\|->" contains=javaLabelCastType,javaLabelNumber,javaCharacter,javaString,javaConstant,@javaClasses,javaGenerics,javaLabelDefault,javaLabelVarType,javaLabelWhenClause
|
||||
@@ -609,7 +615,7 @@ syn region javaString start=+"+ end=+"+ end=+$+ contains=javaSpecialChar,javaS
|
||||
syn region javaString start=+"""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaSpecialChar,javaSpecialError,javaTextBlockError,@Spell
|
||||
syn match javaTextBlockError +"""\s*"""+
|
||||
|
||||
if s:ff.IsRequestedPreviewFeature(430)
|
||||
if s:ff.IsAnyRequestedPreviewFeatureOf([430])
|
||||
syn region javaStrTemplEmbExp contained matchgroup=javaStrTempl start="\\{" end="}" contains=TOP
|
||||
exec 'syn region javaStrTempl start=+\%(\.[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<="+ end=+"+ contains=javaStrTemplEmbExp,javaSpecialChar,javaSpecialError,@Spell'
|
||||
exec 'syn region javaStrTempl start=+\%(\.[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<="""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaStrTemplEmbExp,javaSpecialChar,javaSpecialError,javaTextBlockError,@Spell'
|
||||
@@ -688,7 +694,7 @@ if exists("g:java_highlight_debug")
|
||||
syn region javaDebugString contained start=+"+ end=+"+ contains=javaDebugSpecial
|
||||
syn region javaDebugString contained start=+"""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaDebugSpecial,javaDebugTextBlockError
|
||||
|
||||
if s:ff.IsRequestedPreviewFeature(430)
|
||||
if s:ff.IsAnyRequestedPreviewFeatureOf([430])
|
||||
" The highlight groups of java{StrTempl,Debug{,Paren,StrTempl}}\,
|
||||
" share one colour by default. Do not conflate unrelated parens.
|
||||
syn region javaDebugStrTemplEmbExp contained matchgroup=javaDebugStrTempl start="\\{" end="}" contains=javaComment,javaLineComment,javaDebug\%(Paren\)\@!.*
|
||||
|
Reference in New Issue
Block a user