Rubocop标签

use*_*544 5 ruby syntax tabs space rubocop

我们想使用Rubocop验证我们的ruby语法正确并遵循基本代码指南.

我们有这个规则的公寓:我们缩进使用标签允许任何人决定他们希望如何渲染它们(显示它们像2或4个空格)

问题是rubocop似乎旨在拒绝标签压缩AT ALL.

我们怎样才能将所有这些规则覆盖为空间复合体?

编辑:我正在考虑重写这个模块https://github.com/bbatsov/rubocop/blob/master/lib/rubocop/source_parser.rb将我的文件中的所有标签替换为2个空格,以创建宝石的幻觉...

Uri*_*ssi 9

添加到您的.rubocop.yml:

Style/Tab:
  Enabled: false
Run Code Online (Sandbox Code Playgroud)

禁用选项卡规则.

您可以编写自己的自定义警察来检查正确的缩进.


Tho*_*rst 6

作为一个邪恶的顽固的标签用户,我最终像这样破解了它。0.32.1 的差异:

--- processed_source.rb.orig    2015-07-28 05:53:52.199418557 +0100
+++ processed_source.rb 2015-07-28 05:54:04.750420458 +0100
@@ -13,7 +13,7 @@
                 :parser_error, :raw_source

     def self.from_file(path)
-      file = File.read(path)
+      file = File.read(path).gsub(/^(\t+)/) {|m| '  ' * m.size }
       new(file, path)
     rescue
       abort("#{Rainbow('rubocop: No such file or directory').red} -- #{path}")
Run Code Online (Sandbox Code Playgroud)

你现在应该完美融合。哇哈哈。


use*_*544 0

我重写了这个模块https://github.com/bbatsov/rubocop/blob/master/lib/rubocop/source_parser.rb 将我文件中的所有选项卡替换为 2 个空格,以创建宝石的错觉...