Vim语法定义了折叠透明色

时间:2017-05-22 11:44:04

标签: vim fold vim-syntax-highlighting

我写了Vim语法高亮定义代码,还定义了折叠。 现在我可以使用折叠但是当我有折叠线时,我想为折叠功能部分和实际代码添加不同的颜色

+--  10 lines: XXXXXX

所以我想保持XXXXXX部分仍然被着色为原始语法颜色,从其余部分中脱颖而出。 如何定义折叠语法的透明度?

1 个答案:

答案 0 :(得分:0)

不幸的是,目前是不可能的。有两个突出显示组控制折叠的可视化表示:Folded(对于整行)和FoldColumn(对于折叠状态的左侧表示)。同样,"透明度"不适用于此; 折叠文本是缓冲区内容的自定义[izable]提取。实际缓冲区内容折叠起来,不会渲染。

我依旧记得那些允许折叠级别或嵌套折叠的不同高亮组的补丁,但是Vim中还没有包含这些补丁。

您想要实现的目标非常具有吸引力。不过,我认为实现这一点存在以下困难:

常规文件类型语法(您要应用)必须在+-- 10 lines:前缀后匹配。许多语法都有详细的遏制或排序,可能无法应用。其他人可能会申请,但(由于折叠的东西),失去他们的常规背景,所以跟随线将搞砸。这可以通过特殊的语法规则修复(可能只包括语法关键字和简单:syn match等低级别的东西),但是这些需要每种语法的协作,因此需要通过各种语法扩展数百个脚本作者。