From ad2a4ea635b21c2e3719a83bdff1161625b87965 Mon Sep 17 00:00:00 2001 From: Ludovic Koenig Date: Fri, 2 Aug 2019 07:00:54 +0200 Subject: [PATCH] Add the highlight for java classes in expressions When a class name is used in an expression to access some kind of static content, this class name is now highlighted. In other words, in 'System.out.println("")', 'System' must now be colored. --- after/syntax/java.vim | 5 +++-- colors/odyssey.vim | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/after/syntax/java.vim b/after/syntax/java.vim index 4879b1d..ee74d4b 100644 --- a/after/syntax/java.vim +++ b/after/syntax/java.vim @@ -33,8 +33,9 @@ syntax match javaOdysseyCasting "(\<\u\w*\>\%(<\%(\u\w*\|,\|\s\|<\|>\) syntax match javaOdysseyImport "\%(\\s\+\%(\l\+.\)\+\)\@<=\%(\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 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 +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 diff --git a/colors/odyssey.vim b/colors/odyssey.vim index 9e25c14..c7cc097 100644 --- a/colors/odyssey.vim +++ b/colors/odyssey.vim @@ -262,6 +262,7 @@ call s:h( 'javaAnnotation', 'background', 'warning', 'italic') call s:l( 'javaExternal', 'Statement') call s:l( 'javaTypeDef', 'javaOdysseyThis') call s:l( 'javaOdysseyClass', 'Type') +call s:l( 'javaOdysseyDottedClass', 'Type') call s:l( 'javaOdysseyInterface', 'Type') call s:l( 'javaOdysseyEnum', 'Type') call s:l( 'javaOdysseyCasting', 'Type')