Add some corrections and new features for Java

It corrects some bugs or omissions that occured in the Java syntax.

Plus, it adds some new stuff like the highlight of enum classes when
decalred or the arrow operator '->'.
This commit is contained in:
Ludovic Koenig
2019-05-01 09:01:58 +02:00
2 changed files with 11 additions and 3 deletions
+8 -3
View File
@@ -16,15 +16,20 @@
" License: MIT " License: MIT
" "
" Java Syntax {{{ " Java Syntax {{{
syntax keyword javaOdysseyThis this syntax keyword javaOdysseyThis this
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*\>"
syntax match javaOdysseyEnum "\%(\<enum\>\s\+\)\@<=\<\u\w*\>"
syntax match javaOdysseyArray "\[\]" contained syntax match javaOdysseyArray "\[\]" contained
syntax match javaOdysseyGeneric "[><]" contained syntax match javaOdysseyGeneric "[><]" contained
syntax match javaOdysseySeparator "," contained syntax match javaOdysseySeparator "," contained
syntax match javaOdysseyType "\%(\<\u\w*\>\%(<\%(\w\|,\|\s\|<\|>\)\+>\)\=\%(\[\]\)\=\)\%(\s*\<\l\w*\>\)\@=" containedin=javaParenT,javaParenT1,javaParenT2 contains=javaOdysseyGeneric,javaOdysseyArray,javaOdysseySeparator syntax match javaOdysseyType "\%(\<\u\w*\>\%(<\%(\u\w*\|,\|\s\|<\|>\)*>\)\=\%(\[\]\)\=\)\%(\s*\<\l\w*\>\)\@=" containedin=javaParenT,javaParenT1,javaParenT2 contains=javaOdysseyGeneric,javaOdysseyArray,javaOdysseySeparator
syntax match javaOdysseyConstructor "\%(\<\u\w*\>\)\%(<\%(\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*\>\%(<\%(\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*;"
" }}} " }}}
" vim: foldmethod=marker " vim: foldmethod=marker
+3
View File
@@ -263,13 +263,16 @@ 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( 'javaOdysseyInterface', 'Type')
call s:l( 'javaOdysseyEnum', 'Type')
call s:l( 'javaOdysseyCasting', 'Type') call s:l( 'javaOdysseyCasting', 'Type')
call s:l( 'javaOdysseyImport', 'Type')
call s:l( 'javaOdysseyArray', 'Normal') call s:l( 'javaOdysseyArray', 'Normal')
call s:l( 'javaOdysseyGeneric', 'Normal') call s:l( 'javaOdysseyGeneric', 'Normal')
call s:l( 'javaOdysseyType', 'Type') call s:l( 'javaOdysseyType', 'Type')
call s:l('javaOdysseyConstructor', 'Type') 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')
" }}} " }}}
" Ruby Highlights {{{ " Ruby Highlights {{{