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:
@@ -16,15 +16,20 @@
|
||||
" License: MIT
|
||||
"
|
||||
" Java Syntax {{{
|
||||
|
||||
syntax keyword javaOdysseyThis this
|
||||
syntax match javaOdysseyArrow "->" containedin=javaParenT,javaParenT1,javaParenT2
|
||||
syntax match javaOdysseyClass "\%(\<class\>\s\+\)\@<=\<\u\w*\>"
|
||||
syntax match javaOdysseyInterface "\%(\<interface\>\s\+\)\@<=\<\u\w*\>"
|
||||
syntax match javaOdysseyEnum "\%(\<enum\>\s\+\)\@<=\<\u\w*\>"
|
||||
syntax match javaOdysseyArray "\[\]" contained
|
||||
syntax match javaOdysseyGeneric "[><]" 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 javaOdysseyConstructor "\%(\<\u\w*\>\)\%(<\%(\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 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 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
|
||||
|
||||
@@ -263,13 +263,16 @@ call s:l( 'javaExternal', 'Statement')
|
||||
call s:l( 'javaTypeDef', 'javaOdysseyThis')
|
||||
call s:l( 'javaOdysseyClass', 'Type')
|
||||
call s:l( 'javaOdysseyInterface', 'Type')
|
||||
call s:l( 'javaOdysseyEnum', 'Type')
|
||||
call s:l( 'javaOdysseyCasting', 'Type')
|
||||
call s:l( 'javaOdysseyImport', 'Type')
|
||||
call s:l( 'javaOdysseyArray', 'Normal')
|
||||
call s:l( 'javaOdysseyGeneric', 'Normal')
|
||||
call s:l( 'javaOdysseyType', 'Type')
|
||||
call s:l('javaOdysseyConstructor', 'Type')
|
||||
call s:l( 'javaOdysseyMethod', 'Function')
|
||||
call s:l( 'javaOdysseyThis', 'Special')
|
||||
call s:l( 'javaOdysseyArrow', 'Operator')
|
||||
|
||||
" }}}
|
||||
" Ruby Highlights {{{
|
||||
|
||||
Reference in New Issue
Block a user