Files
vim-odyssey/after/syntax/java.vim
T
Ludovic Koenig 34fbaa5792 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.
2019-04-30 22:09:52 +02:00

31 lines
1.9 KiB
VimL

" _ ____
" (_)____ _ _ __ ____ _ / __/____ _____
" / // __ `/| | / // __ `/ / /_ / __ \ / ___/
" / // /_/ / | |/ // /_/ / / __// /_/ // /
" __/ / \__,_/ |___/ \__,_/ /_/ \____//_/
" /___/ __
" ____ ____/ /__ __ _____ _____ ___ __ __
" / __ \ / __ // / / // ___// ___// _ \ / / / /
" / /_/ // /_/ // /_/ /(__ )(__ )/ __// /_/ /
" \____/ \__,_/ \__, //____//____/ \___/ \__, /
" /____/ /____/
"
" Write once, run anywhere
"
" Maintainer: Ludovic Koenig <ludovic.koenig@gmail.com>
" License: MIT
"
" Java Syntax {{{
syntax keyword javaOdysseyThis this
syntax match javaOdysseyClass "\%(\<class\>\s\+\)\@<=\<\u\w*\>"
syntax match javaOdysseyInterface "\%(\<interface\>\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 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
" }}}
" vim: foldmethod=marker