正则表达式:语法在两个换行符上弹出
Regex: Syntax pop on two linefeeds
我目前正在为一种具有不寻常注释格式的语言编写 Sublime 语法模式(YAML,v3)。
文档评论:
- 以符号
#
作为 LOC 中的第一个字符开始,并且
- 以两个换行符结尾
一个简单的例子是这样的:
# The following function returns
the opposite of what you think it does.
code...
还有一个最坏的例子:
#
This is a comment,
this is still the same comment.
This, too. These don't matter: # foobar ##
code...
我目前的做法是使用堆栈。
推送:
- match: '#'
scope: punctuation.definition.comment.mona
push: doc_comment
流行:
line_comment:
- meta_scope: comment.line.mona
- match: '\n\n'
pop: true
虽然这不起作用。我试图通过使用 s
来解决这个问题,认为它会产生类似 this 的行为,但它会产生一个 Sublime 错误(捕获组的无效选项)。
如何将此评论格式与 S3 YAML 正确匹配?
看来我今天有点胖。答案很明显,在空行上匹配:
- match: '^$'
pop: true
我目前正在为一种具有不寻常注释格式的语言编写 Sublime 语法模式(YAML,v3)。
文档评论:
- 以符号
#
作为 LOC 中的第一个字符开始,并且 - 以两个换行符结尾
一个简单的例子是这样的:
# The following function returns
the opposite of what you think it does.
code...
还有一个最坏的例子:
#
This is a comment,
this is still the same comment.
This, too. These don't matter: # foobar ##
code...
我目前的做法是使用堆栈。
推送:
- match: '#'
scope: punctuation.definition.comment.mona
push: doc_comment
流行:
line_comment:
- meta_scope: comment.line.mona
- match: '\n\n'
pop: true
虽然这不起作用。我试图通过使用 s
来解决这个问题,认为它会产生类似 this 的行为,但它会产生一个 Sublime 错误(捕获组的无效选项)。
如何将此评论格式与 S3 YAML 正确匹配?
看来我今天有点胖。答案很明显,在空行上匹配:
- match: '^$'
pop: true