문제
우리는 Rubocop을 사용하여 Ruby가 구문적으로 올바른지 확인하고 기본 코드 지침을 따르고 싶습니다.
그 외에도 다음 규칙이 있습니다.우리는 탭을 사용하여 들여쓰기를 통해 누구든지 렌더링 방법을 결정할 수 있도록 했습니다(2~4개의 공백처럼 표시).
문제는 rubocop이 들여쓰기 탭을 전혀 거부하도록 설계된 것 같다는 것입니다.
우주 규격을 준수하도록 이러한 모든 규칙을 어떻게 재정의할 수 있습니까?
편집하다:이 모듈을 재정의하려고 생각 중입니다. https://github.com/bbatsov/rubocop/blob/master/lib/rubocop/source_parser.rb 보석에 대한 환상을 만들기 위해 내 파일의 모든 탭을 공백 2개로 바꾸려면...
해결책 4
이 모듈을 덮어 씁니다. https://github.com/BBATSOV / RUBOCOP / BLOB / 마스터 / lib / rubocop / source_parser.rb 모든 탭을 파일에서 2 칸씩 바꾸려면 보석의 환상을 만들려면 ...
다른 팁
악의 응원자 탭 사용자로서, 나는 그것을 해킹을 끝내었다.이 diff는 0.32.1 :
에 대한 diff--- 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