崇高语法:解析两个连续的行

Sublime syntax: Parse two consecutive lines

使用 .sublime-syntax 格式,你会如何匹配以下内容:

This is a title
===============

这是有效的 Markdown 和 AsciiDoc,也许还有 reStructuredText。

您如何将其匹配为章节标题? This is a title 这里,不知道下一行,也可能是段落的开头,因此具有挑战性的歧义:在这一点上,你不能让它成为标题范围的一部分。

你可以使用

^(.+)[\n\r](?=^=+$)

仅当下一行仅包含 = 而没有其他内容时才匹配该行。
您需要在此处使用 multiline 标志,请参阅 a demo on regex101.com。这是通过 Sublime 中模式最开始的 (?m) 设置的,请参见下图。

这目前是不可能的,这就是为什么 ST 附带的 Markdown 语法定义只能将下划线字符限定为标题,而不是标题文本本身。

此处 .sublime-syntax 文件中存在多行匹配支持的功能请求:https://github.com/SublimeTextIssues/Core/issues/1693