0
处理错误我有一个解析器输出这样的信息:VIM:错误格式运用于无法理解如何为我的解析器
|| 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年6月21日:我运行:AsyncRun build
我的生成命令(这是一个自定义脚本)(使用https://github.com/skywind3000/asyncrun.vim插件)。该插件只是简单地运行该命令并将其输出重定向到quickfix。
症状是quickfix窗口包含消息而不被识别为错误消息。
set 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'
它现在就像一个魅力:其实我需要这种错误格式运用于也匹配前导空格
也张贴在这里:https://vi.stackexchange.com/q/12676/51 – Carpetsmoker
我认为你的errorformat定义看起来不错。我最好的猜测是,quickfix不能像你认为的那样工作。你应该描述你产生问题的所有步骤。 –