From 34fbaa57925e466dfc905c09f240b95996f1074b Mon Sep 17 00:00:00 2001 From: Ludovic Koenig Date: Tue, 30 Apr 2019 22:09:52 +0200 Subject: [PATCH 1/5] Take into account the Java diamond operator Up to now the following text 'new ArrayList<>()' was not highlighted correctly. The modification that has been done highlights it like a normal type name. --- after/syntax/java.vim | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/after/syntax/java.vim b/after/syntax/java.vim index 1857b4d..912d353 100644 --- a/after/syntax/java.vim +++ b/after/syntax/java.vim @@ -22,8 +22,8 @@ syntax match javaOdysseyInterface "\%(\\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*\>\%(<\%(\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 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 " }}} From 4e8c85fae3c655cc78f89262b23569400ca200b3 Mon Sep 17 00:00:00 2001 From: Ludovic Koenig Date: Tue, 30 Apr 2019 22:19:36 +0200 Subject: [PATCH 2/5] Fix some highlight overflows In some case, the highlight of some generic types was overflowing: public void method(List strings, List integers) {} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ overflow of the first parameter It corrects this behavior by restraining the type highlight before the parameter name. --- after/syntax/java.vim | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/after/syntax/java.vim b/after/syntax/java.vim index 912d353..c80c859 100644 --- a/after/syntax/java.vim +++ b/after/syntax/java.vim @@ -22,9 +22,9 @@ syntax match javaOdysseyInterface "\%(\\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 " }}} " vim: foldmethod=marker From f6ed184a362ceb26d03874df3617f0b273295f04 Mon Sep 17 00:00:00 2001 From: Ludovic Koenig Date: Tue, 30 Apr 2019 22:38:43 +0200 Subject: [PATCH 3/5] Add the highlight and syntax for the enums It highlights the name of an enum the same way it highlights the one of a class. --- after/syntax/java.vim | 1 + colors/odyssey.vim | 1 + 2 files changed, 2 insertions(+) diff --git a/after/syntax/java.vim b/after/syntax/java.vim index c80c859..b35a7ee 100644 --- a/after/syntax/java.vim +++ b/after/syntax/java.vim @@ -19,6 +19,7 @@ syntax keyword javaOdysseyThis this syntax match javaOdysseyClass "\%(\\s\+\)\@<=\<\u\w*\>" syntax match javaOdysseyInterface "\%(\\s\+\)\@<=\<\u\w*\>" +syntax match javaOdysseyEnum "\%(\\s\+\)\@<=\<\u\w*\>" syntax match javaOdysseyArray "\[\]" contained syntax match javaOdysseyGeneric "[><]" contained syntax match javaOdysseySeparator "," contained diff --git a/colors/odyssey.vim b/colors/odyssey.vim index 44747fb..2976aa1 100644 --- a/colors/odyssey.vim +++ b/colors/odyssey.vim @@ -263,6 +263,7 @@ 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( 'javaOdysseyArray', 'Normal') call s:l( 'javaOdysseyGeneric', 'Normal') From 8746d7c7a7810f16c4c0cec082df672cbe2d048b Mon Sep 17 00:00:00 2001 From: Ludovic Koenig Date: Tue, 30 Apr 2019 22:48:09 +0200 Subject: [PATCH 4/5] Add the highlight of the classes in an 'import' It highlights the name of the classes that are imported by an 'import' statement. --- after/syntax/java.vim | 1 + colors/odyssey.vim | 1 + 2 files changed, 2 insertions(+) diff --git a/after/syntax/java.vim b/after/syntax/java.vim index b35a7ee..6205ad3 100644 --- a/after/syntax/java.vim +++ b/after/syntax/java.vim @@ -27,5 +27,6 @@ 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*;" " }}} " vim: foldmethod=marker diff --git a/colors/odyssey.vim b/colors/odyssey.vim index 2976aa1..52e053a 100644 --- a/colors/odyssey.vim +++ b/colors/odyssey.vim @@ -265,6 +265,7 @@ 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') From 6f568a81f980262e140cd5c4f7b1d91822d63589 Mon Sep 17 00:00:00 2001 From: Ludovic Koenig Date: Tue, 30 Apr 2019 23:18:22 +0200 Subject: [PATCH 5/5] Add the highlight of the arrow operator The arrow operator '->' is now highlighted as an operator like 'new', etc... --- after/syntax/java.vim | 3 +++ colors/odyssey.vim | 1 + 2 files changed, 4 insertions(+) diff --git a/after/syntax/java.vim b/after/syntax/java.vim index 6205ad3..b0ff150 100644 --- a/after/syntax/java.vim +++ b/after/syntax/java.vim @@ -16,7 +16,9 @@ " License: MIT " " Java Syntax {{{ + syntax keyword javaOdysseyThis this +syntax match javaOdysseyArrow "->" containedin=javaParenT,javaParenT1,javaParenT2 syntax match javaOdysseyClass "\%(\\s\+\)\@<=\<\u\w*\>" syntax match javaOdysseyInterface "\%(\\s\+\)\@<=\<\u\w*\>" syntax match javaOdysseyEnum "\%(\\s\+\)\@<=\<\u\w*\>" @@ -28,5 +30,6 @@ syntax match javaOdysseyConstructor "\%(\<\u\w*\>\)\%(<\%(\u\w*\|,\|\s\|<\|>\) 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*;" + " }}} " vim: foldmethod=marker diff --git a/colors/odyssey.vim b/colors/odyssey.vim index 52e053a..0f490fa 100644 --- a/colors/odyssey.vim +++ b/colors/odyssey.vim @@ -272,6 +272,7 @@ 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 {{{