我有一个解析器,它输出这种消息:
|| 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包含我添加的定义。
发布于 2017-06-21 09:19:11
好的,实际上,我还需要将前面的空格与错误格式相匹配:
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帮助我找到了解决方案。
https://stackoverflow.com/questions/44627902
复制相似问题