Rubocop para pestañas
Pregunta
Nos gustaría usar Rubocop para validar nuestro Ruby es sintaxaxicalismo correcto y seguir las pautas de código básico.
appart desde que tenemos esta regla: hemos enviado a través de las pestañas para permitir que cualquiera decidiera cómo quieren que sean prestados (mostrarlos como 2 o 4 espacios)
El problema es que Rubocop parece diseñado para rechazar las pestañas para la sangría en absoluto.
¿Cómo podemos anular todas las siguientes reglas para ser compatientes espaciales?
Editar: Estoy pensando en anular este módulo https://github.com/bbatsov/rubocop/blob/master/lib/rubocop/source_parser.rb Para reemplazar todas las pestañas de mis archivos por 2 espacios para crear la ilusión para la gema ...
Solución 4
He sobrevivo este módulo https://github.com/BBATSOV / RUBOCOP / BLOB / MASTER / LIB / RUBOCOP / SOURTE_PARSER.RB Para reemplazar todas las pestañas de mis archivos por 2 espacios para crear la ilusión para la gema ...
Otros consejos
Añadir a su .rubocop.yml
:
Style/Tab:
Enabled: false
para deshabilitar la regla de las pestañas.
Puede escribir su propio COP personalizado para verificar la sangría adecuada.
Como un usuario de pestaña impenitente malvado, terminé hackeándolo así.Esta diferencia por 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}")
Ahora deberías mezclar perfectamente.Bwahahaha.
Para la última versión, agregue esto a su archivo .rubocop.yml
:
Layout/Tab:
Enabled: false
Puede encontrar todas las opciones predeterminadas enumeradas aquí:
https://github.com/rubocop-hq/rubocop/blob/master/config/default.yml
y, la regla se define aquí:
https:// github.com / Rubocop-HQ / Rubocop / Blob / Master / Lib / Rubocop / COP / Layout / TAB.RB