关键字后面的目标词

时间:2016-03-08 22:01:33

标签: regex vim

我正在学习如何制作vim语法文件,这是我到目前为止所做的:

runtime! syntax/lua.vim
syntax keyword tiKeyword class mixin extends alias abstract

highlight link tiKeyword Keyword

正如您所看到的,它是Lua语言的扩展,支持我的框架中使用的语法。

我正在努力做的是在tiKeyword之后定位一个单词

我希望class <WORD>mixin <WORD>(对于每个关键字)都要突出显示,以便class / mixin是关键字,而<WORD>是一个Statement。

1 个答案:

答案 0 :(得分:0)

syn keyword tiKeyword  class mixin nextgroup=tiIdent skipwhite
syn match   tiIdent    "\%(\%(class\s\|mixin\s\)\s*\)\@<=\h\%(\w\|\.\)*" contained

highlight link tiKeyword   Keyword
highlight link tiIdent     Identifier

我们首先创建tiKeyword这是一个非常简单的syntax keyword,突出显示classmixin。 &#34;魔术&#34;这里使用nextgroup参数,它告诉Vim在之后尝试匹配的语法组。

itIndent语法匹配标识符后跟的关键字。我实际上从Python语法文件中提取了这个; - )