mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:e73e5b8: runtime(java): Optionally highlight the :: token for method references
This token will be highlighted, similar to the arrow of
lambda expressions, whenever "g:java_highlight_functions" is
defined.
Also:
- Improve the recognition of _switch-case_ labels
(D-Cysteine).
- Remove insignificant empty statements in syntax test
files.
closes: vim/vim#15322
References:
https://docs.oracle.com/javase/specs/jls/se21/html/jls-15.html#jls-15.13
https://github.com/fleiner/vim/pull/1
e73e5b889b
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
Co-authored-by: D-Cysteine <54219287+D-Cysteine@users.noreply.github.com>
This commit is contained in:
parent
90d40c68dc
commit
108d2bf74b
@ -1574,11 +1574,11 @@ use the following: >
|
|||||||
:let java_highlight_java_io=1
|
:let java_highlight_java_io=1
|
||||||
Check the javaid.vim file for a list of all the packages that are supported.
|
Check the javaid.vim file for a list of all the packages that are supported.
|
||||||
|
|
||||||
Function names are not highlighted, as the way to find functions depends on
|
Headers of indented function declarations can be highlighted (along with parts
|
||||||
how you write Java code. The syntax file knows two possible ways to highlight
|
of lambda expressions and method reference expressions), but it depends on how
|
||||||
headers of function declarations:
|
you write Java code. Two formats are recognized:
|
||||||
|
|
||||||
If you write function declarations that are consistently indented by either
|
1) If you write function declarations that are consistently indented by either
|
||||||
a tab, or a space . . . or eight space character(s), you may want to set >
|
a tab, or a space . . . or eight space character(s), you may want to set >
|
||||||
:let java_highlight_functions="indent"
|
:let java_highlight_functions="indent"
|
||||||
:let java_highlight_functions="indent1"
|
:let java_highlight_functions="indent1"
|
||||||
@ -1590,10 +1590,12 @@ a tab, or a space . . . or eight space character(s), you may want to set >
|
|||||||
:let java_highlight_functions="indent7"
|
:let java_highlight_functions="indent7"
|
||||||
:let java_highlight_functions="indent8"
|
:let java_highlight_functions="indent8"
|
||||||
Note that in terms of 'shiftwidth', this is the leftmost step of indentation.
|
Note that in terms of 'shiftwidth', this is the leftmost step of indentation.
|
||||||
However, if you follow the Java guidelines about how functions and classes are
|
|
||||||
supposed to be named (with respect to upper- and lowercase) and there is any
|
2) However, if you follow the Java guidelines about how functions and types
|
||||||
amount of indentation, you may want to set >
|
are supposed to be named (with respect to upper- and lowercase) and there is
|
||||||
|
any amount of indentation, you may want to set >
|
||||||
:let java_highlight_functions="style"
|
:let java_highlight_functions="style"
|
||||||
|
|
||||||
In addition, you can combine any value of "java_highlight_functions" with >
|
In addition, you can combine any value of "java_highlight_functions" with >
|
||||||
:let java_highlight_signature=1
|
:let java_highlight_signature=1
|
||||||
to have the name of a function with its parameter list parens distinctly
|
to have the name of a function with its parameter list parens distinctly
|
||||||
|
@ -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 Jun 22
|
" Last Change: 2024 Jul 23
|
||||||
|
|
||||||
" 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.
|
||||||
|
|
||||||
@ -260,7 +260,7 @@ if exists("java_space_errors")
|
|||||||
endif
|
endif
|
||||||
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
|
syn region javaLabelRegion transparent matchgroup=javaLabel start="\<case\>" matchgroup=NONE end=":\|->" contains=javaLabelCastType,javaLabelNumber,javaCharacter,javaString,javaConstant,@javaClasses,javaGenerics,javaLabelDefault,javaLabelVarType,javaLabelWhenClause
|
||||||
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.
|
||||||
@ -497,8 +497,12 @@ syn match javaParenError "\]"
|
|||||||
|
|
||||||
hi def link javaParenError javaError
|
hi def link javaParenError javaError
|
||||||
|
|
||||||
" Lambda expressions (JLS-17, §15.27).
|
" Lambda expressions (JLS-17, §15.27) and method references (JLS-17,
|
||||||
|
" §15.13).
|
||||||
if exists("java_highlight_functions")
|
if exists("java_highlight_functions")
|
||||||
|
syn match javaMethodRef ":::\@!"
|
||||||
|
hi def link javaMethodRef javaFuncDef
|
||||||
|
|
||||||
if exists("java_highlight_signature")
|
if exists("java_highlight_signature")
|
||||||
let s:ff.LambdaDef = s:ff.LeftConstant
|
let s:ff.LambdaDef = s:ff.LeftConstant
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user