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个空格,以创建宝石的幻觉...
添加到您的.rubocop.yml:
Style/Tab:
Enabled: false
Run Code Online (Sandbox Code Playgroud)
禁用选项卡规则.
您可以编写自己的自定义警察来检查正确的缩进.
作为一个邪恶的顽固的标签用户,我最终像这样破解了它。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)
你现在应该完美融合。哇哈哈。
我重写了这个模块https://github.com/bbatsov/rubocop/blob/master/lib/rubocop/source_parser.rb 将我文件中的所有选项卡替换为 2 个空格,以创建宝石的错觉...