问题标签 [errorformat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2163 浏览

bash - 如何在 Vim 中使用 quickfix 调试 Bash 脚本

我每天都使用 Vim 编写 shell 脚本。我一直在阅读有关quickfix窗口的信息,我认为它可以提高我在编辑-运行-修复周期中的工作效率。

如果我理解正确,我必须编写自己的errorformat函数,以便 Vim 能够捕获错误并将它们引入quickfix窗口。但这似乎真的很复杂。

在编写 Bash 脚本时,是否有更简单/更方便的方法来利用 Vim 中的快速修复窗口?

0 投票
1 回答
361 浏览

vim - 如何使用 vim 的错误格式 %* 匹配正则表达式 .* 等价物?

我想使用 vim 的错误格式来匹配我的 makeprg 的输出。但是看起来匹配应该是完整的匹配,因此我需要使用.*匹配器之类的正则表达式。到目前为止,我找到%*[^ ]了最接近的,但我也需要匹配空格。

更具体地说:我想匹配这样的输出:

到目前为止,我尝试过这个(不工作):

0 投票
1 回答
119 浏览

vim - Vim errorformat and ncvhdl

I am trying to set up my Vim environment, to be able to compile VHDL code by using the Cadence VHDL Compiler (ncvhdl). However, my errorformat string is not working properly. A typical ncvhdl error line is:

I am setting the errorformat to:

Any hints out there? Thanks!

0 投票
1 回答
1124 浏览

vim - vim errorformat中的一些高级模式是什么意思?(%s, %+, %\\@=)

我尝试阅读:help errorformat和谷歌搜索(主要是stackoverflow),但无法理解那里提到的一些模式:

  • %s- “指定要搜索的文本以定位错误行。[...]”
    • 嗯,首先,试图完全理解这句话,我应该把“要搜索的文本”放在哪里%s?之前呢?或者,我不知道,它是否会污染整个模式?怎么回事?
    • 其次,这个模式实际上是做什么的,它与模式中的常规文本有什么不同,比如某种set efm+=,foobar?这里的“foobar”对我来说也是“要搜索的文本”......:/
  • %+- 例如,我在一个问题中看到过类似的东西%+C%.%#
    • 这是否意味着整行将被附加到%m早期/后期多行模式中使用的 a 中?如果是,那么如果没有%.%#(== regexp .*)怎么办,但是,比方说,%+Ccont.: %.%#- 这样的东西是否可以仅捕获cont.:字符串之后的内容到%m?
    • %C%.%#另外, and%+C%.%#和 和有什么区别%+G
    • %A另外, and%+A%Evs.之间有什么区别%+E
  • 最后,Python 的示例以:help errorformat-multi-line以下字符结尾:%\\@=%m-- WTF%\\@=是什么意思?

对于理解这些东西的帮助,我将不胜感激。

0 投票
1 回答
94 浏览

php - CodeIgniter 2 中的非格式化错误日志

我目前正在websocketCodeIgniter 2 中运行一个守护程序。该守护程序开始使用nohup并在一个永恒循环中运行。错误输出格式为 HTML。但是,我希望在没有 HTML 格式的情况下记录错误。CodeIgniter 是否可以选择使这成为可能?

编辑: 我不仅在跟踪错误。我也在保存websocket日志。日志包含已运行的功能和其他有用信息。我不想隐藏日志中的错误,因为它们可能对跟踪一些错误很有用。我想记录我的自定义websocket消息以及可能发生的错误。

守护进程启动命令:

日志中的错误如下所示:

0 投票
1 回答
636 浏览

javascript - Vim 错误格式多行字符串

我正在尝试将此错误输出解析为Flow. 在第一个错误中,真正重要的是第二个文件和行号,而不是第一个。我想告诉 vim 使用第二个文件条目。(所以在这种情况下,位置列表应该跳转到 source.js 的第 94 行,而不是第 20 行)

这是当前为 flow 定义的错误格式:它的工作原理是它使用第一个文件名而不是第二个文件名。

尝试的解决方案

我一直在尝试使用多行错误格式,但我不知道我在做什么。阅读后:help errorformat,似乎这样的事情应该可以工作,但它只是将整个错误加载到消息中,没有文件/行信息。它还使用第一个条目而不是第三个条目匹配第二个错误。

更新

感谢 lcd047,他指出我没有匹配正确的输出。Syntastic 将错误格式化如下,全部在一行中:

那么,新问题,我怎样才能匹配第二个位置而不是第一个?我想我宁愿忽略第一个位置。

更新答案 - 这有效:

0 投票
1 回答
316 浏览

vim - Vim 错误格式化多个条目

我使用的 c++ 编译器(由 ant 启动)会产生不同格式的错误。例如:

[应用] /localdev/foo.cc:10:29: 错误: foo.h: 没有这样的文件或目录

(让我们称之为格式A)

并采用以下格式:

[应用] /localdev/foo.cc:307: 错误: 预期 ';' 在“标准”之前

(让我们称之为格式 B)
注意格式 A 有一个额外的列说明符。
我正在尝试创建一个匹配两者的 vim 错误格式。
我有:

set errorformat=\ %#[apply]\ %f:%l:%c:\ error:\ %m
set errorformat+=\ %#[apply]\ %f:%l:\ error:\ %m

但我似乎无法让 Vim 与 Format B 匹配。
我知道errorformat本身是正确的,因为如果我注释掉第一个errorformat设置,我可以匹配错误格式B。如果我注释掉第二个errorformat设置,我可以匹配错误格式A。
请注意,如果我反转errorformat设置,那么当 Vim 遇到错误 Format A 时,它会尝试打开一个名为“/localdev/foo.cc:10”的文件,当然找不到。(看起来 vim 有一个贪婪的匹配算法,在这种情况下,匹配文件的字符串也包括行号)。

将匹配格式 A 和格式 B 的正确错误格式设置是什么?
我在互联网和 vim 文档上查看了使 %c “可选”的方法,但我还没有找到秘密。
谢谢你。

0 投票
1 回答
309 浏览

vim - Vim 的错误格式被忽略

我对 Vim (v7.3) 的错误格式有疑问。试图将其设置为将我的 C 错误提取到 quickfix 中。错误模式可能是众所周知的:

我正在设置这个错误格式:

然后我运行:make(我也进行了修改:makeprg)。但是errorformat设置不起作用。就像它被完全忽略了,因为快速修复或多或少地充满了整个编译日志文件(不仅是错误)。

我什至尝试将错误格式设置为一些废话,如下所示:

还是一样的结果。快速修复充满了数百行。

我错过了一些神奇的打开/关闭errorformat设置吗?

0 投票
1 回答
372 浏览

string - VIM:如何在我指定的错误消息格式中设置“errorformat”?

在我的系统中,我们将所有构建错误消息重新格式化为以下格式:

如您所见,此格式包含几个部分:

我希望使用 vim+quickfix 打开这个构建错误文件,并导航到源文件+行号。那么如何在我的 .vimrc 中设置 'errorformat' 字符串呢?

非常感谢。

0 投票
1 回答
172 浏览

string - VIM:如何在我指定的错误消息格式中使用`let errorformat`?

我正在使用的 linter 以以下格式输出错误:

很明显,格式包含几个部分:

  1. bear使用类型
  2. 错误编号
  3. 文件名
  4. 行号(开始)
  5. 列号(开始)
  6. 行号(结束)
  7. 列号(结束)
  8. 错误信息的类型
  9. 错误消息本身

我正在为语法编写我的 linter 插件,这导致输出字符串出现问题,我该如何配置它以符合要求?

我试过let errorformat = 'L%l\\:%m'没有运气