0

我有一个解析器,它输出这种消息:

||     Error: M:\workdir\MyFile.ja: line 38: "Blablabla" has no license declaration
||     Error: M:\workdir\MyFile.ja: unknown attribute "blabla"
||     Fatal: M:\workdir\MyFile.ja: not generating output because of 2 earlier errors

我尝试使用以下错误格式对其进行解析:

let &errorformat=&errorformat . ',' . 'Error: %f: line %l: %m'
let &errorformat=&errorformat . ',' . 'Error: %f: %m'
let &errorformat=&errorformat . ',' . 'Fatal: %f: line %l: %m'
let &errorformat=&errorformat . ',' . 'Fatal: %f: %m'

但它什么都不匹配。有人可以帮我指出我做错了什么吗?

谢谢。


编辑 2017-06-21:AsyncRun build :我使用(使用https://github.com/skywind3000/asyncrun.vim插件)运行我的构建命令(这是一个自定义脚本)。该插件只需异步运行命令并将其输出重定向到 quickfix。

症状是 quickfix 窗口包含的消息没有被识别为错误消息。

set errorformat包含我添加的定义。

4

1 回答 1

0

好的,事实上我还需要用这个错误格式匹配前导空格:

let &errorformat=&errorformat . ',' . '%*[ ]Error: %f: line %l: %m'
let &errorformat=&errorformat . ',' . '%*[ ]Error: %f: %m'
let &errorformat=&errorformat . ',' . '%*[ ]Fatal: %f: line %l: %m'
let &errorformat=&errorformat . ',' . '%*[ ]Fatal: %f: %m'

它现在就像一个魅力!

感谢 freenode #vim 上的 markzen,他帮助我找到了解决方案。

于 2017-06-21T09:19:11.730 回答