我希望在bash heredoc中实现语法高亮。此外,我还希望在heredoc中实现bash变量解引用和命令替换的高亮显示。
以这些说明为起点,通过查看sh.vim,我成功添加了变量解引用。我想你可以以类似的方式实现命令替换的高亮显示。
我的问题是,这似乎在任何块(
以这些说明为起点,通过查看sh.vim,我成功添加了变量解引用。我想你可以以类似的方式实现命令替换的高亮显示。
let s:bcs = b:current_syntax
unlet b:current_syntax
syntax include @YAML syntax/yaml.vim
syntax region hereDocYAML matchgroup=Statement start=/<<-\?\s*\z(YML\)/ end=/^\s*\z1/ contains=@YAML,hereDocDeref,hereDocDerefSimple
syn match hereDocDerefSimple "\$\%(\h\w*\|\d\)"
syn region hereDocDeref matchgroup=PreProc start="\${" end="}" contains=@shDerefList,shDerefVarArray
hi def link hereDocDeref PreProc
hi def link hereDocDerefSimple PreProc
我的问题是,这似乎在任何块(
if
、function
、for
等)中都不起作用。例如:
我唯一知道的是这不是缩进问题。更改缩进没有效果,而在块外使用缩进可以正常工作。