mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:2307945: runtime(java): Optionally recognise all primitive constants in _switch-case_ labels
Define "g:java_syntax_previews" and include number 455 in
its list to enable this recognition:
------------------------------------------------------------
let g:java_syntax_previews = [455]
------------------------------------------------------------
Reference:
https://openjdk.org/jeps/455
closes: vim/vim#15698
23079450a8
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
This commit is contained in:
parent
674c1aac11
commit
f5883e0d45
@ -1704,10 +1704,11 @@ cycles for such a feature to become either integrated into the platform or
|
|||||||
withdrawn from this effort. To cater for early adopters, there is optional
|
withdrawn from this effort. To cater for early adopters, there is optional
|
||||||
support in Vim for syntax related preview features that are implemented. You
|
support in Vim for syntax related preview features that are implemented. You
|
||||||
can request it by specifying a list of preview feature numbers as follows: >
|
can request it by specifying a list of preview feature numbers as follows: >
|
||||||
:let g:java_syntax_previews = [430]
|
:let g:java_syntax_previews = [455]
|
||||||
|
|
||||||
The supported JEP numbers are to be drawn from this table:
|
The supported JEP numbers are to be drawn from this table:
|
||||||
`430`: String Templates [JDK 21]
|
`430`: String Templates [JDK 21]
|
||||||
|
`455`: Primitive types in Patterns, instanceof, and switch
|
||||||
|
|
||||||
Note that as soon as the particular preview feature will have been integrated
|
Note that as soon as the particular preview feature will have been integrated
|
||||||
into the Java platform, its entry will be removed from the table and related
|
into the Java platform, its entry will be removed from the table and related
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
" Maintainer: Aliaksei Budavei <0x000c70 AT gmail DOT com>
|
" Maintainer: Aliaksei Budavei <0x000c70 AT gmail DOT com>
|
||||||
" Former Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
" Former Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
||||||
" Repository: https://github.com/zzzyxwvut/java-vim.git
|
" Repository: https://github.com/zzzyxwvut/java-vim.git
|
||||||
" Last Change: 2024 Sep 11
|
" Last Change: 2024 Sep 18
|
||||||
|
|
||||||
" Please check :help java.vim for comments on some of the options available.
|
" Please check :help java.vim for comments on some of the options available.
|
||||||
|
|
||||||
@ -283,19 +283,27 @@ if exists("g:java_space_errors")
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
exec 'syn match javaUserLabel "^\s*\<\K\k*\>\%(\<default\>\)\@' . s:ff.Peek('7', '') . '<!\s*::\@!"he=e-1'
|
exec 'syn match javaUserLabel "^\s*\<\K\k*\>\%(\<default\>\)\@' . s:ff.Peek('7', '') . '<!\s*::\@!"he=e-1'
|
||||||
syn region javaLabelRegion transparent matchgroup=javaLabel start="\<case\>" matchgroup=NONE end=":\|->" contains=javaLabelCastType,javaLabelNumber,javaCharacter,javaString,javaConstant,@javaClasses,javaGenerics,javaLabelDefault,javaLabelVarType,javaLabelWhenClause
|
|
||||||
|
if s:ff.IsRequestedPreviewFeature(455)
|
||||||
|
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
|
||||||
|
syn keyword javaLabelCastType contained char byte short int
|
||||||
|
syn match javaLabelNumber contained "\<0\>[lL]\@!"
|
||||||
|
syn match javaLabelNumber contained "\<\%(0\%([xX]\x\%(_*\x\)*\|_*\o\%(_*\o\)*\|[bB][01]\%(_*[01]\)*\)\|[1-9]\%(_*\d\)*\)\>[lL]\@!"
|
||||||
|
hi def link javaLabelCastType javaType
|
||||||
|
hi def link javaLabelNumber javaNumber
|
||||||
|
endif
|
||||||
|
|
||||||
syn region javaLabelRegion transparent matchgroup=javaLabel start="\<default\>\%(\s*\%(:\|->\)\)\@=" matchgroup=NONE end=":\|->" oneline
|
syn region javaLabelRegion transparent matchgroup=javaLabel start="\<default\>\%(\s*\%(:\|->\)\)\@=" matchgroup=NONE end=":\|->" oneline
|
||||||
" Consider grouped _default_ _case_ labels, i.e.
|
" Consider grouped _default_ _case_ labels, i.e.
|
||||||
" case null, default ->
|
" case null, default ->
|
||||||
" case null: default:
|
" case null: default:
|
||||||
syn keyword javaLabelDefault contained default
|
syn keyword javaLabelDefault contained default
|
||||||
syn keyword javaLabelVarType contained var
|
syn keyword javaLabelVarType contained var
|
||||||
syn keyword javaLabelCastType contained char byte short int
|
|
||||||
" Allow for the contingency of the enclosing region not being able to
|
" Allow for the contingency of the enclosing region not being able to
|
||||||
" _keep_ its _end_, e.g. case ':':.
|
" _keep_ its _end_, e.g. case ':':.
|
||||||
syn region javaLabelWhenClause contained transparent matchgroup=javaLabel start="\<when\>" matchgroup=NONE end=":"me=e-1 end="->"me=e-2 contains=TOP,javaExternal,javaLambdaDef
|
syn region javaLabelWhenClause contained transparent matchgroup=javaLabel start="\<when\>" matchgroup=NONE end=":"me=e-1 end="->"me=e-2 contains=TOP,javaExternal,javaLambdaDef
|
||||||
syn match javaLabelNumber contained "\<0\>[lL]\@!"
|
|
||||||
syn match javaLabelNumber contained "\<\%(0\%([xX]\x\%(_*\x\)*\|_*\o\%(_*\o\)*\|[bB][01]\%(_*[01]\)*\)\|[1-9]\%(_*\d\)*\)\>[lL]\@!"
|
|
||||||
|
|
||||||
" Comments
|
" Comments
|
||||||
syn keyword javaTodo contained TODO FIXME XXX
|
syn keyword javaTodo contained TODO FIXME XXX
|
||||||
@ -692,8 +700,6 @@ hi def link javaUserLabelRef javaUserLabel
|
|||||||
hi def link javaLabel Label
|
hi def link javaLabel Label
|
||||||
hi def link javaLabelDefault javaLabel
|
hi def link javaLabelDefault javaLabel
|
||||||
hi def link javaLabelVarType javaOperator
|
hi def link javaLabelVarType javaOperator
|
||||||
hi def link javaLabelNumber javaNumber
|
|
||||||
hi def link javaLabelCastType javaType
|
|
||||||
|
|
||||||
hi def link javaComment Comment
|
hi def link javaComment Comment
|
||||||
hi def link javaCommentStar javaComment
|
hi def link javaCommentStar javaComment
|
||||||
|
Loading…
Reference in New Issue
Block a user