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:
+21
-15
@@ -17,21 +17,27 @@
|
|||||||
"
|
"
|
||||||
" Java Syntax {{{
|
" Java Syntax {{{
|
||||||
|
|
||||||
syntax keyword javaOdysseyThis this
|
syntax keyword javaOdysseyThis this
|
||||||
syntax match javaOdysseyArrow "->" containedin=javaParenT,javaParenT1,javaParenT2
|
syntax keyword javaOdysseyLombok val var
|
||||||
syntax match javaOdysseyClass "\%(\<class\>\s\+\)\@<=\<\u\w*\>"
|
syntax match javaOdysseyArrow "->" containedin=javaParenT,javaParenT1,javaParenT2
|
||||||
syntax match javaOdysseyInterface "\%(\<interface\>\s\+\)\@<=\<\u\w*\>"
|
syntax match javaOdysseyClass "\%(\<class\>\s\+\)\@<=\<\u\w*\>"
|
||||||
syntax match javaOdysseyEnum "\%(\<enum\>\s\+\)\@<=\<\u\w*\>"
|
syntax match javaOdysseyInterface "\%(\<interface\>\s\+\)\@<=\<\u\w*\>"
|
||||||
syntax match javaOdysseyArray "\[\]" contained
|
syntax match javaOdysseyEnum "\%(\<enum\>\s\+\)\@<=\<\u\w*\>"
|
||||||
syntax match javaOdysseyGeneric "[><]" contained
|
syntax match javaOdysseyArray "\[\]" contained
|
||||||
syntax match javaOdysseySeparator "," contained
|
syntax match javaOdysseyGeneric "[><]" contained
|
||||||
syntax match javaOdysseyType "\%(\<\u\w*\>\%(<\%(\u\w*\|,\|\s\|<\|>\)*>\)\=\%(\[\]\)\=\)\%(\s*\<\l\w*\>\)\@=" containedin=javaParenT,javaParenT1,javaParenT2 contains=javaOdysseyGeneric,javaOdysseyArray,javaOdysseySeparator
|
syntax match javaOdysseySeparator "," contained
|
||||||
syntax match javaOdysseyConstructor "\%(\<\u\w*\>\)\%(<\%(\u\w*\|,\|\s\|<\|>\)*>\)\=\%((\|\[\)"me=e-1 containedin=javaParenT,javaParenT1,javaParenT2 contains=javaOdysseyGeneric,javaOdysseySeparator
|
syntax match javaOdysseyType "\%(\<\u\w*\>\%(<\%(\u\w*\|,\|\s\|<\|>\)*>\)\=\%(\[\]\)\=\)\%(\s*\<\l\w*\>\)\@=" containedin=javaParenT,javaParenT1,javaParenT2 contains=javaOdysseyGeneric,javaOdysseyArray,javaOdysseySeparator
|
||||||
syntax match javaOdysseyMethod "\<\l\w*\>("me=e-1 containedin=javaParenT,javaParenT1,javaParenT2
|
syntax match javaOdysseyConstructor "\%(\<\u\w*\>\)\%(<\%(\u\w*\|,\|\s\|<\|>\)*>\)\=\%((\|\[\)"me=e-1 containedin=javaParenT,javaParenT1,javaParenT2 contains=javaOdysseyGeneric,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 javaOdysseyMethod "\<\l\w*\>("me=e-1 containedin=javaParenT,javaParenT1,javaParenT2
|
||||||
syntax match javaOdysseyImport "\%(\<import\>\s\+\%(\l\+.\)\+\)\@<=\%(\u\w*\)\s*;"
|
syntax match javaOdysseyCasting "(\<\u\w*\>\%(<\%(\u\w*\|,\|\s\|<\|>\)\+>\)\=\%(\[\]\)\=)"hs=s+1,he=e-1 containedin=javaParenT,javaParenT1,javaParenT2 contains=javaOdysseyGeneric,javaOdysseyArray,javaOdysseySeparator
|
||||||
syntax match javaOdysseyExtends "\%(\<extends\>\s\+\)\@<=\%(\<\u\w*\>\)\%(<\%(\u\w*\|,\|\s\|<\|>\)*>\)\=" contains=javaOdysseyGeneric,javaOdysseySeparator
|
syntax match javaOdysseyImport "\%(\<import\>\s\+\%(\l\+\.\)\+\)\@<=\%(\u\w*\)\%(\s*;\)\@="
|
||||||
syntax match javaOdysseyImplements "\%(\<implements\>\s\+\)\@<=\%(\<\u\w*\>\)\%(<\%(\u\w*\|,\|\s\|<\|>\)*>\)\=" contains=javaOdysseyGeneric,javaOdysseySeparator
|
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 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
|
||||||
|
|||||||
+23
-17
@@ -258,23 +258,29 @@ call s:h( 'Todo', 'background', 'warning', 'bold')
|
|||||||
" }}}
|
" }}}
|
||||||
" Java Highlights {{{
|
" Java Highlights {{{
|
||||||
|
|
||||||
call s:h( 'javaAnnotation', 'background', 'warning', 'italic')
|
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( 'javaOdysseyInterface', 'Type')
|
call s:l( 'javaOdysseyDottedClass', 'Type')
|
||||||
call s:l( 'javaOdysseyEnum', 'Type')
|
call s:l( 'javaOdysseyInterface', 'Type')
|
||||||
call s:l( 'javaOdysseyCasting', 'Type')
|
call s:l( 'javaOdysseyEnum', 'Type')
|
||||||
call s:l( 'javaOdysseyImport', 'Type')
|
call s:l( 'javaOdysseyCasting', 'Type')
|
||||||
call s:l( 'javaOdysseyExtends', 'Type')
|
call s:l( 'javaOdysseyImport', 'Type')
|
||||||
call s:l( 'javaOdysseyImplements', 'Type')
|
call s:l( 'javaOdysseyStaticMethod', 'Function')
|
||||||
call s:l( 'javaOdysseyArray', 'Normal')
|
call s:l( 'javaOdysseyStaticClass', 'Type')
|
||||||
call s:l( 'javaOdysseyGeneric', 'Normal')
|
call s:l( 'javaOdysseyExtends', 'Type')
|
||||||
call s:l( 'javaOdysseyType', 'Type')
|
call s:l( 'javaOdysseyImplements', 'Type')
|
||||||
call s:l('javaOdysseyConstructor', 'Type')
|
call s:l( 'javaOdysseyArray', 'Normal')
|
||||||
call s:l( 'javaOdysseyMethod', 'Function')
|
call s:l( 'javaOdysseyGeneric', 'Normal')
|
||||||
call s:l( 'javaOdysseyThis', 'Special')
|
call s:l( 'javaOdysseyType', 'Type')
|
||||||
call s:l( 'javaOdysseyArrow', 'Operator')
|
call s:l( 'javaOdysseyConstructor', 'Type')
|
||||||
|
call s:l( 'javaOdysseyMethod', 'Function')
|
||||||
|
call s:l( 'javaOdysseyThis', 'Special')
|
||||||
|
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