7

我正在编写一个 vim 语法文件。我发现main_syntax在几个现有的语法文件中使用了一个名为的变量。但我找不到任何解释它的文档。

文档仅描述了另一个变量 ,b:current_syntax它用于告诉另一个脚本当前的语法是什么。

貌似main_syntax有同样的意思。它是一个遗留变量吗?

4

1 回答 1

5

一些语法脚本支持通过 导入到另一种语法中:syntax include,例如html中的javascript

main_syntax变量跟踪用户/文件类型实际设置的语法;包含语法脚本然后在设置此变量时忽略现有语法项的清除。(而如果设置了语法脚本,则应该:finish没有任何操作b:current_syntax。)另一个区别b:current_syntaxmain_syntax仅在实际语法加载过程中定义,而另一个则持续存在。

TL;DR:如果您自己支持包含/包含其他语法,请从现有语法中复制条件样板,例如$VIMRUNTIME/syntax/html.vim;如果没有,你可以忽略这个。

于 2013-04-23T14:28:46.427 回答