我正在编写一个 vim 语法文件。我发现main_syntax
在几个现有的语法文件中使用了一个名为的变量。但我找不到任何解释它的文档。
本文档仅描述了另一个变量 ,b:current_syntax
它用于告诉另一个脚本当前的语法是什么。
貌似main_syntax
有同样的意思。它是一个遗留变量吗?
一些语法脚本支持通过 导入到另一种语法中:syntax include
,例如html中的javascript。
该main_syntax
变量跟踪用户/文件类型实际设置的语法;包含语法脚本然后在设置此变量时忽略现有语法项的清除。(而如果设置了语法脚本,则应该:finish
没有任何操作b:current_syntax
。)另一个区别b:current_syntax
是main_syntax
仅在实际语法加载过程中定义,而另一个则持续存在。
TL;DR:如果您自己支持包含/包含其他语法,请从现有语法中复制条件样板,例如$VIMRUNTIME/syntax/html.vim
;如果没有,你可以忽略这个。