我有这样的代码:
# some comment
comment This is a comment \
that continues.
keyword option=3.123e4
评论以“#”或“评论”开头,可以继续“\”和换行符。 我想匹配最后一行“\”之后的下一行,或者直到列表中的关键字。 这就是我所拥有的:
syn match atlasComment "#.*$"
syn match atlasComment "comment.*$"
syn keyword myKeyword keyword anotherKW nextgroup=myOption skipwhite
syn keyword myOption option
是否可以使用“评论”中的范围到仍然突出显示的关键字列表中的特定关键字?或者有更好的方法吗?
答案 0 :(得分:1)
您可以在:help :syn-oneline
找到一些有用的提示。
“oneline”参数表示该区域不跨越一条线 边界。它必须在当前行中完全匹配。但是,当 region有一个包含的项,它跨越一个行边界,它继续 无论如何,下一行。包含的项目可用于识别行 延续模式。
这导致以下解决方案:
:syn region atlasComment start="comment" end="$" oneline contains=atlasCommentContinuation
:syn match atlasCommentContinuation "\\$" contained