我想扩展文件类型语法并突出显示现有文件类型。我的新文件语法的基本结构如下:
" Some local (new) syntax that I want to match
syn match upfOperator "[&|~><!)(*#%@+/=?:;}{,.\^\-\[\]]"
syn match upfDefines "\$\S\+"
syn match upfDefines "\${\S\+}"
syn match upfParens "[)(}{\[\]]"
" load syntax that I want to extend. This contains it's own highlight commands
runtime syntax/dtcl.vim
" New highlight statements
hi link upfOperator Statement
hi link upfDefines Constant
hi link upfParens Constant
问题是 dtcl.vim 文件中包含的所有语法都没有突出显示。我能够打开一个 dctl 文件并且突出显示工作。但是,当我打开其他文件类型 (*.upf) 时,会加载 upf.vim,但不会加载 dtcl.vim。
dctl.vim 没有任何会导致文件无法加载的“if syntax defined”类型的命令。