我正在整理用于编辑 Java Manifest 文件的语法(在 github 上,如果有人感兴趣的话)。我正在尝试折叠多个单行注释(我目前正在与 匹配syntax match manifestComment "#.*"
)。但是,如果我尝试使用语法区域,那么整个文件都会被标记,整个事情就会崩溃。
我想要实现的是:
# A comment
# Another comment
# A third comment
Manifest-Version: 1
并让它崩溃成:
+-- 3 lines: # A comment ----
Manifest-Version: 1
问题是没有明显的“结束”字符,折叠语法也无济于事;所以我做不到syntax region commentBlock start="^#" end="^[^#]"
。粗略地说,语法区域应该从第一个散列字符开始,然后继续向下行,直到找到不以散列开头的行。