Add some additional support for Java syntax
It modifies the 'import' statement by fixing some bugs and adding some new support. Plus enum values and classes used with the dot operator are also now highlighted.
This commit is contained in:
@@ -18,6 +18,7 @@
|
|||||||
" Java Syntax {{{
|
" Java Syntax {{{
|
||||||
|
|
||||||
syntax keyword javaOdysseyThis this
|
syntax keyword javaOdysseyThis this
|
||||||
|
syntax keyword javaOdysseyLombok val var
|
||||||
syntax match javaOdysseyArrow "->" containedin=javaParenT,javaParenT1,javaParenT2
|
syntax match javaOdysseyArrow "->" containedin=javaParenT,javaParenT1,javaParenT2
|
||||||
syntax match javaOdysseyClass "\%(\<class\>\s\+\)\@<=\<\u\w*\>"
|
syntax match javaOdysseyClass "\%(\<class\>\s\+\)\@<=\<\u\w*\>"
|
||||||
syntax match javaOdysseyInterface "\%(\<interface\>\s\+\)\@<=\<\u\w*\>"
|
syntax match javaOdysseyInterface "\%(\<interface\>\s\+\)\@<=\<\u\w*\>"
|
||||||
@@ -29,9 +30,14 @@ syntax match javaOdysseyType "\%(\<\u\w*\>\%(<\%(\u\w*\|,\|\s\|<\|>\)*>
|
|||||||
syntax match javaOdysseyConstructor "\%(\<\u\w*\>\)\%(<\%(\u\w*\|,\|\s\|<\|>\)*>\)\=\%((\|\[\)"me=e-1 containedin=javaParenT,javaParenT1,javaParenT2 contains=javaOdysseyGeneric,javaOdysseySeparator
|
syntax match javaOdysseyConstructor "\%(\<\u\w*\>\)\%(<\%(\u\w*\|,\|\s\|<\|>\)*>\)\=\%((\|\[\)"me=e-1 containedin=javaParenT,javaParenT1,javaParenT2 contains=javaOdysseyGeneric,javaOdysseySeparator
|
||||||
syntax match javaOdysseyMethod "\<\l\w*\>("me=e-1 containedin=javaParenT,javaParenT1,javaParenT2
|
syntax match javaOdysseyMethod "\<\l\w*\>("me=e-1 containedin=javaParenT,javaParenT1,javaParenT2
|
||||||
syntax match javaOdysseyCasting "(\<\u\w*\>\%(<\%(\u\w*\|,\|\s\|<\|>\)\+>\)\=\%(\[\]\)\=)"hs=s+1,he=e-1 containedin=javaParenT,javaParenT1,javaParenT2 contains=javaOdysseyGeneric,javaOdysseyArray,javaOdysseySeparator
|
syntax match javaOdysseyCasting "(\<\u\w*\>\%(<\%(\u\w*\|,\|\s\|<\|>\)\+>\)\=\%(\[\]\)\=)"hs=s+1,he=e-1 containedin=javaParenT,javaParenT1,javaParenT2 contains=javaOdysseyGeneric,javaOdysseyArray,javaOdysseySeparator
|
||||||
syntax match javaOdysseyImport "\%(\<import\>\s\+\%(\l\+.\)\+\)\@<=\%(\u\w*\)\s*;"
|
syntax match javaOdysseyImport "\%(\<import\>\s\+\%(\l\+\.\)\+\)\@<=\%(\u\w*\)\%(\s*;\)\@="
|
||||||
|
syntax match javaOdysseyStaticMethod "\%(\<import\>\s\+\<static\>\s\+\%(\w\+\.\)\+\)\@<=\%(\l\w*\)\%(\s*;\)\@="
|
||||||
|
syntax match javaOdysseyStaticClass "\%(\<import\>\s\+\<static\>\s\+\%(\w\+\.\)\+\)\@<=\%(\u\w*\)\%(\s*;\)\@="
|
||||||
syntax match javaOdysseyExtends "\%(\<extends\>\s\+\)\@<=\%(\<\u\w*\>\)\%(<\%(\u\w*\|,\|\s\|<\|>\)*>\)\=" contains=javaOdysseyGeneric,javaOdysseySeparator
|
syntax match javaOdysseyExtends "\%(\<extends\>\s\+\)\@<=\%(\<\u\w*\>\)\%(<\%(\u\w*\|,\|\s\|<\|>\)*>\)\=" contains=javaOdysseyGeneric,javaOdysseySeparator
|
||||||
syntax match javaOdysseyImplements "\%(\<implements\>\s\+\)\@<=\%(\<\u\w*\>\)\%(<\%(\u\w*\|,\|\s\|<\|>\)*>\)\=" contains=javaOdysseyGeneric,javaOdysseySeparator
|
syntax match javaOdysseyImplements "\%(\<implements\>\s\+\)\@<=\%(\<\u\w*\>\)\%(<\%(\u\w*\|,\|\s\|<\|>\)*>\)\=" contains=javaOdysseyGeneric,javaOdysseySeparator
|
||||||
|
syntax match javaOdysseyDottedClass "\<\u\w*\>\."me=e-1 containedin=javaParenT,javaParenT1,javaParenT2
|
||||||
|
syntax match javaOdysseyEnumValue "\<[A-Z][_A-Z0-9]\+\>" containedin=javaParenT,javaParenT1,javaParenT2,javaLabelRegion
|
||||||
|
syntax match javaOdysseyEnumConstructor "\<[A-Z][_A-Z0-9]\+\>("me=e-1 containedin=javaParenT,javaParenT1,javaParenT2
|
||||||
|
|
||||||
" }}}
|
" }}}
|
||||||
" vim: foldmethod=marker
|
" vim: foldmethod=marker
|
||||||
|
|||||||
@@ -262,10 +262,13 @@ call s:h( 'javaAnnotation', 'background', 'warning', 'italic')
|
|||||||
call s:l( 'javaExternal', 'Statement')
|
call s:l( 'javaExternal', 'Statement')
|
||||||
call s:l( 'javaTypeDef', 'javaOdysseyThis')
|
call s:l( 'javaTypeDef', 'javaOdysseyThis')
|
||||||
call s:l( 'javaOdysseyClass', 'Type')
|
call s:l( 'javaOdysseyClass', 'Type')
|
||||||
|
call s:l( 'javaOdysseyDottedClass', 'Type')
|
||||||
call s:l( 'javaOdysseyInterface', 'Type')
|
call s:l( 'javaOdysseyInterface', 'Type')
|
||||||
call s:l( 'javaOdysseyEnum', 'Type')
|
call s:l( 'javaOdysseyEnum', 'Type')
|
||||||
call s:l( 'javaOdysseyCasting', 'Type')
|
call s:l( 'javaOdysseyCasting', 'Type')
|
||||||
call s:l( 'javaOdysseyImport', 'Type')
|
call s:l( 'javaOdysseyImport', 'Type')
|
||||||
|
call s:l( 'javaOdysseyStaticMethod', 'Function')
|
||||||
|
call s:l( 'javaOdysseyStaticClass', 'Type')
|
||||||
call s:l( 'javaOdysseyExtends', 'Type')
|
call s:l( 'javaOdysseyExtends', 'Type')
|
||||||
call s:l( 'javaOdysseyImplements', 'Type')
|
call s:l( 'javaOdysseyImplements', 'Type')
|
||||||
call s:l( 'javaOdysseyArray', 'Normal')
|
call s:l( 'javaOdysseyArray', 'Normal')
|
||||||
@@ -275,6 +278,9 @@ call s:l('javaOdysseyConstructor', 'Type')
|
|||||||
call s:l( 'javaOdysseyMethod', 'Function')
|
call s:l( 'javaOdysseyMethod', 'Function')
|
||||||
call s:l( 'javaOdysseyThis', 'Special')
|
call s:l( 'javaOdysseyThis', 'Special')
|
||||||
call s:l( 'javaOdysseyArrow', 'Operator')
|
call s:l( 'javaOdysseyArrow', 'Operator')
|
||||||
|
call s:l( 'javaOdysseyLombok', 'Statement')
|
||||||
|
call s:l( 'javaOdysseyEnumValue', 'Constant')
|
||||||
|
call s:l('javaOdysseyEnumConstructor', 'Constant')
|
||||||
|
|
||||||
" }}}
|
" }}}
|
||||||
" Ruby Highlights {{{
|
" Ruby Highlights {{{
|
||||||
|
|||||||
Reference in New Issue
Block a user