我正在学习如何制作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。
答案 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
,突出显示class
和mixin
。 &#34;魔术&#34;这里使用nextgroup
参数,它告诉Vim在之后尝试匹配的语法组。
itIndent
语法匹配标识符后跟的关键字。我实际上从Python语法文件中提取了这个; - )