vim:errorformat无法理解如何处理解析器的错误

时间:2017-06-19 10:17:50

标签: vim errorformat

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

||     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

我尝试使用以下errorformat解析它:

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包含我添加的定义。

1 个答案:

答案 0 :(得分:0)

好的,事实上我需要将前导空格与此错误格式匹配:

TypeCode

它现在就像一个魅力!

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