From f3a093222895f7c1b30f1d0177feef0b3754359d Mon Sep 17 00:00:00 2001 From: Ludovic Koenig Date: Fri, 2 Aug 2019 07:28:59 +0200 Subject: [PATCH] Add some more supports for the Java import syntax Static imports are now highlight in green for functions and in yellow for the nested static classes. A minor bug has been fixed, because '.' was used instead of '\.' in the regexes. Given that the 'magic' option is set by default, it matched always any character instead of '.'. --- after/syntax/java.vim | 6 ++++-- colors/odyssey.vim | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/after/syntax/java.vim b/after/syntax/java.vim index ee74d4b..09e61c4 100644 --- a/after/syntax/java.vim +++ b/after/syntax/java.vim @@ -30,10 +30,12 @@ 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 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 javaOdysseyImport "\%(\\s\+\%(\l\+.\)\+\)\@<=\%(\u\w*\)\%(\s*;\)\@=" +syntax match javaOdysseyImport "\%(\\s\+\%(\l\+\.\)\+\)\@<=\%(\u\w*\)\%(\s*;\)\@=" +syntax match javaOdysseyStaticMethod "\%(\\s\+\\s\+\%(\w\+\.\)\+\)\@<=\%(\l\w*\)\%(\s*;\)\@=" +syntax match javaOdysseyStaticClass "\%(\\s\+\\s\+\%(\w\+\.\)\+\)\@<=\%(\u\w*\)\%(\s*;\)\@=" syntax match javaOdysseyExtends "\%(\\s\+\)\@<=\%(\<\u\w*\>\)\%(<\%(\u\w*\|,\|\s\|<\|>\)*>\)\=" contains=javaOdysseyGeneric,javaOdysseySeparator syntax match javaOdysseyImplements "\%(\\s\+\)\@<=\%(\<\u\w*\>\)\%(<\%(\u\w*\|,\|\s\|<\|>\)*>\)\=" contains=javaOdysseyGeneric,javaOdysseySeparator -syntax match javaOdysseyDottedClass "\<\u\w*\>."me=e-1 containedin=javaParenT,javaParenT1,javaParenT2 +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 diff --git a/colors/odyssey.vim b/colors/odyssey.vim index c7cc097..f1bc5d8 100644 --- a/colors/odyssey.vim +++ b/colors/odyssey.vim @@ -267,6 +267,8 @@ call s:l( 'javaOdysseyInterface', 'Type') call s:l( 'javaOdysseyEnum', 'Type') call s:l( 'javaOdysseyCasting', 'Type') call s:l( 'javaOdysseyImport', 'Type') +call s:l( 'javaOdysseyStaticMethod', 'Function') +call s:l( 'javaOdysseyStaticClass', 'Type') call s:l( 'javaOdysseyExtends', 'Type') call s:l( 'javaOdysseyImplements', 'Type') call s:l( 'javaOdysseyArray', 'Normal')