我们想使用rubocop来验证我们的Ruby是语法正确并遵循基本代码指南。

appart从我们拥有这条规则:我们缩进使用标签允许任何人决定如何呈现它们(将它们显示为2或4个空格)

问题是Rubocop似乎旨在拒绝用于缩进的标签。

如何将所有这些规则覆盖为空间复杂性?

编辑:我正在考虑覆盖这个模块 https://github.com/bbatsov/rubocop/blob/master/lib/rubocop/source_parser.rb 将所有选项卡替换为2个空格以创建Gem ...

的幻觉

有帮助吗?

解决方案 4

我覆盖这个模块 https://github.com/Bbatsov / rubocop / blob / master / lib / rubocop / source_parser.rb 要将来自我的文件中的所有选项卡替换为2个空格以创建Gem ...

的幻觉

其他提示

添加到.rubocop.yml

Style/Tab:
  Enabled: false
.

要禁用标签规则。

您可以编写自己的自定义cop 检查正确的缩进。

作为一个邪恶的不悔改的标签用户,我最终喜欢攻击它。这个差异为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}")
.

现在应该完美混合。Bwahahaha。

为最新版本,将此添加到您的.rubocop.yml文件中:

Layout/Tab:
  Enabled: false
.

您可以在此处找到列出的所有默认选项:

https://github.com/rubocop-hq/ rubocop/blob/master/config/default.yml

,此处定义规则:

https:// github.com / rubocop-hq / rubocop / blob / master / lib / rubocop / cop / layout / tab.rb

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top