在编辑咖啡文件时增加 vim 中 coffeelint 的最大行长度 (mvim)

Increase max line length for coffeelint in vim (mvim) when editing coffee files

当我在我的 mvim 中编辑任何 .coffee 文件并尝试使用任何超过 80 个符号的行来保存该文件时,我得到这样的错误。

file_name.coffee |18 error| Line exceeds maximum allowed length Length is 91, max is 80.

这非常烦人,特别是考虑到我们公司每行最多 100 个符号的约定,甚至其他团队成员的代码也会在本地给我带来问题。

我唯一可以更改此限制的地方是文件 .../node_modules/coffeelint/lib/coffeelint.js 中的 nodejs 模块,其中有这样一行:

max_line_length: {
   value: 80,
   -level: ERROR,
   +level: IGNORE,
   message: 'Line exceeds maximum allowed length'
 },

但是,当然,编辑 nodejs 库的源代码并不是一个好的选择。

在我的 mvim 中,我使用这些 dotfiles - https://github.com/skwp/dotfiles

在我的项目目录中,我有 .coffeelint.json,但它不起作用,但是,它似乎包含所需的有效代码(它在 TravisCI 和其他团队成员的机器上完美运行)。

问题:

  1. 保存文件时有什么地方可以关闭coffeelint调用吗?
  2. 有什么地方可以配置我的 coffelint 最大允许行长度?

更新:

将正确命名的 (.coffeelint.json) 配置文件放入主目录会有所帮助,但在我的情况下不是正确的解决方案。

它似乎更像是一个 coffeelint 问题而不是 Vim 问题。

来自 http://www.coffeelint.org/#options :

看来你必须生成一个配置文件,调整以下选项。

max_line_length This rule imposes a maximum line length on your code. Python's style guide does a good job explaining why you might want to limit the length of your lines, though this is a matter of taste. Lines can be no longer than eighty characters by default.

default level: error

看来您还必须使用配置文件调用 coffeelint:

发件人:http://www.coffeelint.org/#usage

coffeelint -f coffeelint.json application.coffee

您可能需要在点文件中找到 coffeelint 调用完成的位置,并在其中添加带有 -f 选项的配置文件。

您不必显式传递配置文件。这是 CoffeeLint 的 user docs。您应该创建一个 ~/coffeelint.json 文件或在项目的根目录中创建一个 coffeelint.json

在所有项目部分(现在有 5 个不同的回购)我们目前有 .coffeelint.json 文件,如果您希望它自动选择配置文件,那不是 coffeelint 的正确名称。 Current .coffeelint.json 在检查代码时在 TravisCI 上使用,并使用 -f 选项调用,事实证明。所以我的情况是我有两种方法来修复奇怪的行为(实际上是预期的行为):

  1. 将 5 个相关 repos 中的配置之一复制到 ~/coffeelint.json,以便 coffeelint 将在 vim 将在保存时检查文件时自动使用它(但是如果某些回购将具有不同的配置,则不会这样做,但是,此解决方案不需要对回购进行任何更改。

  2. 在每个存储库中创建每个配置文件的副本(因此我将在每个存储库中同时拥有 .coffeelint.jsoncoffeelint.json)并将新添加的添加到 .gitignore,这样团队成员就不会在他们的编辑器中看到它。这个选项也不合适而且看起来很丑,因为我必须添加 5 次更改和 5 次提交。

似乎团队成员决定不正确地命名 coffeelint 配置文件以便 hide it visually in code editors。解决方案让我很紧张,所以,我可能会正确地重新配置所有内容,并将配置重命名为默认名称。

如果coffeelint支持多个具有优先级的配置文件就好了,但现在不可能了。