有时在一行,有时在两行时,如何捕获 Sublime 2 构建输出

How can I capture Sublime 2 build output when it it sometimes on one line, sometimes on two lines

标题有点长,但这是表述问题的最佳方式。

我使用 MivaScript 作为编程语言,因此我正在构建所有工具以使其在 Sublime 中手工运行。除了构建系统,我几乎所有的东西都在工作。我的问题是编译错误有时出现在一行,有时出现在两行。

如果我正在编译单个文件,错误行如下所示:

C:\internet\www\path\filename.mv:59: CE_191: Function "layout" called here with 0 parameters but with 1 parameters at line 27

但是如果该文件包含其他文件,则输出如下所示:

In file included from C:\internet\www\path\lib\file.mv at line 44
subdir/included_file.mv:42: CE_183: Expression is empty

分为两行;第一个提到我正在编译的文件,第二个是存在错误的路径,文件名和行。

更糟糕的是,单个文件具有 Windows 样式路径,包括驱动器。但是如果错误在包含的文件中,它使用 Linux 格式的相对路径。

我正在尝试将其用于文件正则表达式:

"file_regex": "^[a-z,A-Z]?:?\?([^:]+):([0-9]+): [^:]+:.*$",

语法正确;尝试在我创建的包含各种错误消息的文档中进行搜索。但出于某种原因,它在 Sublime 2 的构建输出搜索中不起作用。

有什么想法吗? Sublime 甚至能够处理两行输出吗?

原来是我不够努力。这是最终的工作解决方案:

^([a-z,A-Z]?:?[^:]+):([0-9]+): [^:]+: (.*)$

所以这将捕获驱动器号和冒号(如果有),然后捕获其他所有内容,包括前导斜线。 Sublime 似乎从那里弄明白了。