问题标签 [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 投票
2 回答
154 浏览

vim - 类型在消息中间的错误格式

给定这样的 C# 编译器消息,当打开警告作为错误时:

我希望将其errorformat标记为 type warning而不是 type error

我已经有这样的价值观errorformat

(当你看到^M时,知道它是我文件中的实际控制代码,但它不能很好地传输到网络。这足以表明 C# 编译器输出\r\n而不仅仅是\n,这是一个轻微的麻烦。)

这是我第一次尝试的:

Vim 哀叹它无法处理%m一个字符串中多次出现的 。

因此,我开始对不寻常的包含断言的正则表达式产生兴趣。这是我尝试过的:

这没有用;它得到类型“C”(可能来自“CS1572”)和消息“W”(%t应该消耗的值)。(在其他一些实验中,省略了%t,证明有必要消耗断言中的其余字符串,否则它会%m在那时停止匹配。非常奇怪。)

意识到它并没有将它们视为正则表达式组,而是以一种特殊的线性方式,然后我尝试反转断言并得出以下结论:

不幸的是,这些也失败了,得到类型“C”而不是“警告”,并且(尽管最终得到完整的消息)^M在字符串的末尾留下了。

errorformat我已经用尽了我在命令中能想到的可能性;还有什么其他方法可以解决这个问题,还是我需要求助于运行另一个脚本来包装它,这会将格式变成 Vim 可以处理的格式?

(所有这些都是为了在快速修复列表中获得“警告”而不是“错误”这个词。可悲,不是吗?)

0 投票
1 回答
242 浏览

vim - 设置 vim 错误格式的问题

我的编译器和 lint 工具以两种不同的格式输出错误。我决定逐步设置我的错误格式,首先用于 lint,然后为编译器添加模式。

这是我要匹配的 lint 输出行

我的第一次尝试是

它奏效了。

然后我尝试如下设置

它停止工作。

有谁知道是什么问题?我确实阅读了文档,但没有帮助。

任何帮助表示赞赏。

0 投票
1 回答
282 浏览

vim - Vim:忽略但显示带有错误格式的模式?

我的编译器在通用file:line:column message格式上生成错误,但我的问题是我的测试输出包含许多与此模式匹配的时间字符串。例如:

在带有 message2013-01-01 01的行23和列中被视为文件中的错误。00Starting test foo

%-G我可以使用错误格式字符串中的正则表达式过滤掉时间字符串,但这也会从快速修复窗口中删除该行。

有没有办法制作cnextcprevious跳过与模式匹配的行(将它们视为无效)但仍将它们包含在输出中?

0 投票
2 回答
147 浏览

vim - 在 Vim 中对齐/对齐错误格式输出

我使用 Vim/gVim 在 javascript (node) 中进行编程。我在我的文件类型插件中将 jslint 连接为 makeprg。这是错误格式:

这是 jslint 的输出:

这是快速修复窗口的输出:

在列号之后,我想将其保留为 2 位数字(我希望文件的错误不超过 99 个!),使其看起来像:

我想这也会影响行号 0-9。是否可以有条件地填充输出?

0 投票
2 回答
895 浏览

vim - vim 中的多行错误格式

我正在尝试匹配这样的 C 错误消息:

到目前为止,我想出了这个:

它打开文件并将我置于第一个错误,但我必须键入:cn四次才能得到第二个错误。我试图设置多行错误,但到目前为止我的错误字符串不起作用:

你有更好的主意吗?

0 投票
1 回答
252 浏览

vim - vim 错误格式中非常长的文件名

我一直在使用用于 vim 的 LaTeXBox 插件为 LaTeX 处理错误格式,并且我发现了一个我无法解决的问题。

LaTeX 生成相对结构化的日志文件,其中类似 Lisp 的括号语法用于解析文件,例如:

起初,这看起来是一个简单的问题,我们可以使用%P/%O/%Q指令 with%r%f来解析文件名。对于简单的.tex文件和项目,这很好用。但是,在某些情况下,这些行可能会在文件名完成之前中断。例如,我们可能会得到这样的东西:

上面的大部分输出都可以正确解析,但是,如上所示,其中一条路径已损坏,将不会被解析。一个这样的错误足以破坏文件堆栈,从而导致日志文件的错误解析。

这个问题可以用更一般的方式来说明:我想使用错误格式来解析跨行的文件名:

我正在寻找解决这个问题的方法,或者使用更多的 vim 魔法(也许我错过了一个不错的错误格式选项?),或者使用 or 的一些latex选项pdflatex。任何解决方案表示赞赏。

0 投票
2 回答
507 浏览

vim - Vim 错误格式:在消息字符串中包含部分表达式

使用 vim 的 errorformat 语法,有没有办法在过滤结果中使用部分消息?

例如,除了错误本身之外,一些链接器错误没有任何明确的内容可以将它们区分为在线错误:

或者


使用错误格式:

会正确捕获并显示这两种情况,但会错误地匹配许多其他情况(任何以“[string]:[number]:”开头的行)。

或者,明确指定它们:

消除了误报,但“消息”变得不那么有用了——不再包括实际错误(只是它之后的任何内容)。


我缺少处理这种情况的语法中的任何内容吗?

理想情况下,我希望能够说出以下内容:

... StartMessage 和 EndMessage 之间匹配的所有内容都用作错误消息。

0 投票
1 回答
199 浏览

vim - jshint 的 Vim 错误格式(带有示例)

我正在尝试为此编写 efm:

但我想我错过了单独一行文件的概念。有人可以帮我解决这个问题吗?

这是我到目前为止所拥有的,但它不起作用:

谢谢!

解决方案:

0 投票
1 回答
318 浏览

vim - Vim 错误格式人物

产生的错误ghc-mod在一行上,其中每一行都可能包含由 vim<Nul>呈现的字符。\@我想解析它以进行快速修复,但看不出这可能如何工作errorformat<Nul>字符似乎被截断%m,就好像它是一个新行,但使用多行语法似乎无法捕捉这种情况。

有没有办法进行errorformat解析<Nul>

0 投票
0 回答
75 浏览

vim - 是否有一个 vim 错误格式可以捕获函数名而不是行号?

我正在尝试编写一个errorformatfor vim 来捕获函数名称并将其转换为行号,以便错误至少指向错误的一般位置。仍然能够在错误消息中包含函数名称将是理想的。

这是我想捕获的示例错误消息

所以我希望它参与function()其中并将其转换为定义函数的行号,这可能需要某种 ctags 集成。这可能吗?