From 0ee75344101963a0d8f709828acbe2d8a6b0b59f Mon Sep 17 00:00:00 2001 From: Ludovic Koenig Date: Tue, 6 Aug 2019 21:48:39 +0200 Subject: [PATCH 1/3] Fix the highlight of import for nested classes It fixes the highlight of the 'import' statement for nested classes. In order to do so, it declares the 'javaOdysseyDottedClass' before the 'javaOdysseyImport' syntax group. It follows that all outer classes are considered as being part of the 'javaOdysseyDottedClass' syntax group. It fixes #1 on GitHub. --- after/syntax/java.vim | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/after/syntax/java.vim b/after/syntax/java.vim index 5ec3277..02b4026 100644 --- a/after/syntax/java.vim +++ b/after/syntax/java.vim @@ -35,15 +35,15 @@ syntax match javaOdysseySeparator "," contained 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 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 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\+\%(\w\+\.\)\+\)\@<=\%(\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 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 From cf387ad4ef8205746e3c1b374610ba76d73891c9 Mon Sep 17 00:00:00 2001 From: Ludovic Koenig Date: Tue, 6 Aug 2019 22:02:21 +0200 Subject: [PATCH 2/3] Modify some Java syntax group names The next syntax group names have been modified as followed: - javaOdysseyImport -> javaOdysseyGetClass - javaOdysseyImportMethod -> javaOdysseyGetStaticMethod - javaOdysseyImportClass -> javaOdysseyGetStaticClass - javaOdysseyDottedClass -> javaOdysseyDotOperator --- after/syntax/java.vim | 8 ++++---- colors/odyssey.vim | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/after/syntax/java.vim b/after/syntax/java.vim index 02b4026..f15a439 100644 --- a/after/syntax/java.vim +++ b/after/syntax/java.vim @@ -35,13 +35,13 @@ syntax match javaOdysseySeparator "," contained 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 javaOdysseyDottedClass "\<\u\w*\>\."me=e-1 containedin=javaParenT,javaParenT1,javaParenT2 +syntax match javaOdysseyDotOperator "\<\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 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\+\%(\w\+\.\)\+\)\@<=\%(\u\w*\)\%(\s*;\)\@=" -syntax match javaOdysseyStaticMethod "\%(\\s\+\\s\+\%(\w\+\.\)\+\)\@<=\%(\l\w*\)\%(\s*;\)\@=" -syntax match javaOdysseyStaticClass "\%(\\s\+\\s\+\%(\w\+\.\)\+\)\@<=\%(\u\w*\)\%(\s*;\)\@=" +syntax match javaOdysseyGetClass "\%(\\s\+\%(\w\+\.\)\+\)\@<=\%(\u\w*\)\%(\s*;\)\@=" +syntax match javaOdysseyGetStaticMethod "\%(\\s\+\\s\+\%(\w\+\.\)\+\)\@<=\%(\l\w*\)\%(\s*;\)\@=" +syntax match javaOdysseyGetStaticClass "\%(\\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 diff --git a/colors/odyssey.vim b/colors/odyssey.vim index 07b68a0..b886bd3 100644 --- a/colors/odyssey.vim +++ b/colors/odyssey.vim @@ -263,13 +263,13 @@ 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( 'javaOdysseyDotOperator', 'Type') 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( 'javaOdysseyGetClass', 'Type') +call s:l('javaOdysseyGetStaticMethod', 'Function') +call s:l( 'javaOdysseyGetStaticClass', 'Type') call s:l( 'javaOdysseyExtends', 'Type') call s:l( 'javaOdysseyImplements', 'Type') call s:l( 'javaOdysseyArray', 'Normal') From b423cdff48a23b385bb2021d8c95ecff76cf199d Mon Sep 17 00:00:00 2001 From: Ludovic Koenig Date: Tue, 6 Aug 2019 22:12:11 +0200 Subject: [PATCH 3/3] Update the CHANGELOG.md file --- CHANGELOG.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 81a295a..cd3a1ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,24 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning]. +## [Unreleased] + +## Changed + +- Change the name of some of the Java syntax group added by the plugin. + + + `javaOdysseyImport` becomes `javaOdysseyGetClass`, + + + `javaOdysseyStaticMethod` becomes `javaOdysseyGetStaticMethod`, + + + `javaOdysseyStaticClass` becomes `javaOdysseyGetStaticClass`, + + + `javaOdysseyDottedClass` becomes `javaOdysseyDotOperator`. + +## Fixed + +- Fix the Java highlight for nested class names in 'import' statements. + ## [0.4.0] - 2019-08-02 ### Added @@ -143,6 +161,7 @@ project adheres to [Semantic Versioning]. + Otherwise, a GUI version of Vim must be used. +[Unreleased]: https://github.com/ludokng/vim-odyssey/compare/0.4.0...HEAD [0.4.0]: https://github.com/ludokng/vim-odyssey/compare/0.3.0...0.4.0 [0.3.0]: https://github.com/ludokng/vim-odyssey/compare/0.2.0...0.3.0 [0.2.0]: https://github.com/ludokng/vim-odyssey/compare/0.1.0...0.2.0