diff options
author | Christian Clason <c.clason@uni-graz.at> | 2024-09-19 18:56:19 +0200 |
---|---|---|
committer | Christian Clason <c.clason@uni-graz.at> | 2024-09-21 11:25:41 +0200 |
commit | f5883e0d450ccc3345cd8cfdfbeddcfe121d7472 (patch) | |
tree | 99973dc3ac576c2693b05ef63e8963cb8e2d3ba4 /runtime/syntax/java.vim | |
parent | 674c1aac11f4a4dd02945a1cc7061b5fc59d048c (diff) | |
download | rneovim-f5883e0d450ccc3345cd8cfdfbeddcfe121d7472.tar.gz rneovim-f5883e0d450ccc3345cd8cfdfbeddcfe121d7472.tar.bz2 rneovim-f5883e0d450ccc3345cd8cfdfbeddcfe121d7472.zip |
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
https://github.com/vim/vim/commit/23079450a8dea98f9d4e3e74ab57866914b0a813
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
Diffstat (limited to 'runtime/syntax/java.vim')
-rw-r--r-- | runtime/syntax/java.vim | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/runtime/syntax/java.vim b/runtime/syntax/java.vim index d3b59c186d..bbef266c34 100644 --- a/runtime/syntax/java.vim +++ b/runtime/syntax/java.vim @@ -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: 2024 Sep 11 +" Last Change: 2024 Sep 18 " Please check :help java.vim for comments on some of the options available. @@ -283,19 +283,27 @@ if exists("g:java_space_errors") endif 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 " Consider grouped _default_ _case_ labels, i.e. " case null, default -> " case null: default: syn keyword javaLabelDefault contained default 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 " _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 match javaLabelNumber contained "\<0\>[lL]\@!" -syn match javaLabelNumber contained "\<\%(0\%([xX]\x\%(_*\x\)*\|_*\o\%(_*\o\)*\|[bB][01]\%(_*[01]\)*\)\|[1-9]\%(_*\d\)*\)\>[lL]\@!" " Comments syn keyword javaTodo contained TODO FIXME XXX @@ -692,8 +700,6 @@ hi def link javaUserLabelRef javaUserLabel hi def link javaLabel Label hi def link javaLabelDefault javaLabel hi def link javaLabelVarType javaOperator -hi def link javaLabelNumber javaNumber -hi def link javaLabelCastType javaType hi def link javaComment Comment hi def link javaCommentStar javaComment |