我正在尝试将以下错误与efm
:
AssertionError: 1 == 2
at /home/strager/projects/blah/blah.js:13:37
错误消息可以是任何内容(即它并不总是与AssertionError: .*
or.*Error: .*
格式匹配)。一般格式为:
errormessage
at filename:line:column
我的问题是错误消息与任何行匹配;我需要将错误消息限制为仅一行,并且仅在其后跟匹配的“at”行时才匹配。
我尝试了以下方法efm
:
set efm=%Z\ \ \ \ at\ %f:%l:%c,%E%m
" %Z at %f:%l:%c,%E%m
这几乎可以工作,但除了错误之外,它还匹配状态行(例如,错误之前和之后的非错误)。我怎样才能强制%E%m ... %Z
总共只有两行(一条用于错误消息,一条用于at
行)?makeprg
如果需要,我可以使用标准的 UNIX 工具。