Agregar tipo de archivo a ack permanentemente

16

Recientemente he aprendido cómo dejar que ack admita más tipos de archivos (agregando lo siguiente a .ackrc):

--type-add
latte=.latte

Desafortunadamente, eso produce una línea de información en cada búsqueda de reconocimiento que utilizo, incluso las que tienen 0 resultados.

$ ack --latte dump
ack: --type-add: Type "latte" does not exist, creating with ".latte" ...

¿Hay alguna manera de hacer de esto una adición más permanente? (es decir, deshacerse de esta línea de información) Esto me parece que está agregando este nuevo tipo en cada llamada de confirmación. ¿Es un problema con mi instalación de ack?

Estoy en Mac OS X 10.5.8 con ack 1.92 (ejecutándose en Perl 5.10.1)

Martin Tóth
fuente
Con respecto a 10.6-> 10.5.8: Realmente no tengo idea de por qué escribí 10.6, siempre tuve 10.5.8 ... Y cuando me di cuenta, lo cambié ...
Martin Tóth
1
Extraño historial de revisión: @Mehper comenzó a editar dentro del período de gracia de 5 minutos, y luego (después de que Mehper comenzó , pero antes de guardar ) Martin cambió "10.6" a "10.5.8". A continuación, el cambio se deshizo cuando Mehper guardó las ediciones en el texto (entonces) anterior, que para el historial seguía siendo la misma revisión debido al período de gracia, por lo tanto, enumeró a Mehper como un cambio de versión. Si le preocupa esto, considere votar por Después de guardar, avise cuando otra persona haya guardado la publicación .
Arjan
+1 Estaba usando --type-set siguiendo la documentación pero no tenía idea de que los tipos deberían estar en una nueva línea
Marcelo Diniz

Respuestas:

18

Me parece que la documentación afirma que necesita en su --type-setlugar:

--type-set
latte=.latte

Mientras que --type-addes para, énfasis mío:

Los archivos con la (s) EXTENSIÓN (es) dada (s) se reconocen como del tipo ( el existente ) TIPO.

Arjan
fuente
1
+1 También dice "Si quieres definir un nuevo tipo, o redefinir completamente un tipo existente, entonces úsalo --type-set".
Pausado hasta nuevo aviso.
Hmmm ... ¡He leído esa sección varias veces, pero no me di cuenta / entiendo, que satisfago mis necesidades! ¡Gracias!
Martin Tóth
-1

Hmmm ... ackes básicamente un script de Perl ... que es bastante fácil de editar:

%mappings = (
    actionscript => [qw( as mxml )],
    ada         => [qw( ada adb ads )],
...
    latte       => [qw( latte )],
...
    yaml        => [qw( yaml yml )],
    xml         => [qw( xml dtd xslt ent )],
);

Pero aún así, ¿hay otra solución para esto?

Martin Tóth
fuente
44
Si edita ack-grep, pierde el beneficio de las actualizaciones posteriores porque la actualización sobrescribiría sus cambios. La configuración se puede hacer en .ackrc, que es una solución superior.
Niels Bom