tmLanguage 支持奇怪的多行字符串文字

tmLanguage support for strange multiline string literal

我有 Visual Studio 代码的 LPC 编程语言扩展。我正在使用 tmLanguage 语法。但是,我还没有想出一种方法来支持该语言的多行字符串文字。

正则表达式为:@{1,2}(\w*)\n((.|\n)*?)\n(###\s*)?()\b

要匹配的示例语法:

  set_help_str(@HELP
Lorem ipsum dolor sit amet, "Consectetur adipiscing elit," sed do 
eiusmod tempor incididunt ut's labore et dolore magna aliqua. Ut 
enim ad minim veniam, quis nostrud exercitation ullamco laboris.
HELP);

这基本上是我需要正确处理的最后一点语法,我真的还没有找到处理它的方法。

如有任何帮助,我们将不胜感激。

这不能用 tmLanguage 真正完成,因为他们的正则表达式一次只读取一行并且不会真正支持这一点。

我必须编写一个语言服务器来处理这个问题。