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