如何使Vim支持Java 8 lambda语法?

3

Vim 7.4自带的Java语法文件无法识别Java 8 lambda语法,会将->标记为红色。如何解决这个问题?


1
请见 http://vi.stackexchange.com/questions/1905/vims-syntax-highlighting-considers-a-lambda-in-java-an-error。 - VGR
1个回答

9
~/.vim/after/syntax中创建一个名为java.vim的文件,并在该文件中添加以下内容:
syn clear javaError
syn match javaError "<<<\|\.\.\|=>\|||=\|&&=\|\*\/"
syn match javaFuncDef "[^-]->"

第二行是从标准的Java语法文件中复制的,但没有包含...
[^-]->

关于~/.vim/after/目录的更多信息,请参见:help after-directory


你可能想将其更改为以下内容,这样您就不会意外地尝试将const用作标识符。 syn match javaError "<<<\|\.\.\|=>\|||=\|&&=\|\*\/\|goto\|const" - justinjhendrick
谢谢!这对于 diamond (<>) 也适用。顺便说一下,你应该接受你的答案。 - Brian McCutchon
不客气!很高兴听到这个消息。接受自己的答案有什么特别的原因吗?是为了表明不需要更多的答案吗? - Dmitry Minkovsky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接