diff --git a/CHANGELOG.md b/CHANGELOG.md index 3863434..6c025e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,9 @@ project adheres to [Semantic Versioning]. + Some new syntax groups for types and functions have been added. +- Add the support for the Java method references by using the `Type` and + `Function` highlight groups. + - Adds three Java syntax groups in order to be able to fold multiline comments, `import` statement blocks and `import static` statement blocks. diff --git a/after/syntax/java.vim b/after/syntax/java.vim index 237f5da..633d721 100644 --- a/after/syntax/java.vim +++ b/after/syntax/java.vim @@ -44,6 +44,8 @@ syntax match javaOdysseyGetStaticMethod "\%(\\s\+\\s\+\%(\w\ 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 +syntax match javaOdysseyMethodRef "::\<\l\w*\>"ms=s+2 containedin=javaParenT,javaParenT1,javaParenT2 +syntax match javaOdysseyClassMethodRef "\<\u\w*\>::"me=e-2 containedin=javaParenT,javaParenT1,javaParenT2 syntax region javaOdysseyComment start=+/\*+ end=+\*/+ transparent fold keepend syntax region javaOdysseyImport start=/\%(^import\)\@<=\s.\+;/ end=+^\s*$+ transparent fold keepend syntax region javaOdysseyImportStatic start=/\%(^import static\)\@<=\s.\+;/ end=+^\s*$+ transparent fold keepend diff --git a/colors/odyssey.vim b/colors/odyssey.vim index 1738dd8..a0b0c91 100644 --- a/colors/odyssey.vim +++ b/colors/odyssey.vim @@ -282,6 +282,8 @@ call s:l( 'javaOdysseyArrow', 'Operator') call s:l( 'javaOdysseyLombok', 'Statement') call s:l( 'javaOdysseyEnumValue', 'Constant') call s:l('javaOdysseyEnumConstructor', 'Constant') +call s:l( 'javaOdysseyMethodRef', 'Function') +call s:l( 'javaOdysseyClassMethodRef', 'Type') if exists('g:odyssey_java_javadoc') && g:odyssey_java_javadoc != 0 if exists('g:java_ignore_javadoc')