2011-01-20 10 views
30

pongo esto en mi .ackrc:¿Cómo puedo ignorar los archivos * .orig?

--type-set=DUMB=*.orig 
--noDUMB 

... pero sigo viendo como archivos main.py.orig en mis resultados ACK. Intenté hacer --type-set=DUMB=*.*.orig también, pero eso tampoco funcionó.

Más información

Ejecutar desde mi línea de comandos (OSX Snow Leopard con:.

timmfin at lorien in ~/dev/performable/rafa on landing-pages-csv-and-more! 
± ack modules --python | grep '.orig' 
src/rafa/main.py.orig:25:import rafa.ui.modules.helpers 
src/rafa/main.py.orig:26:from rafa.ui.modules.performable_form import PerformableForm 
src/rafa/main.py.orig:27:from rafa.ui.modules.page_form import PageEditForm 
src/rafa/main.py.orig:28:from rafa.ui.modules.settings_form import SettingsForm 
.... 

timmfin at lorien in ~/dev/performable/rafa on landing-pages-csv-and-more! 
± cat ~/.ackrc 
--color 
--sort-files 
--smart-case 

--type-set=sass=.sass 
--type-set=coffee=.coffee 

--ignore-dir=rafa/static 
--ignore-dir=compiled 
--ignore-dir=compressed 

--ignore-dir=venv 
--ignore-dir=build 

timmfin at lorien in ~/dev/performable/rafa on landing-pages-csv-and-more! 
± ack --version 
ack 1.94 
Running under Perl 5.10.0 at /usr/bin/perl 

Respuesta

17

Para la versión 1.x ACK

encontré este funcionaba si me quita el asterisco (del Ackmate wiki)

--type-set=DUMB=.orig 
--noDUMB 

Puede ver qué tipos de archivos admite ackmate mediante la ejecución (incluyendo aquellos que haya especificado en ~/.ackrc):

~/Library/Application\ Support/TextMate/PlugIns/AckMate.tmplugin/Contents/Resources/ackmate_ack --help type 
0

ACK no reconoce .orig archivos en primer lugar, supongo que de alguna manera invocando ack -a ya sea desde su ackrc o ACK_OPTIONS.

+0

uso principalmente Ack a través del plug-in para AckMate Textmate (y no estoy seguro de qué opciones se utiliza aparte de mi .ackrc), pero también veo el problema de acuse de recibo en el comando línea. Actualicé mi pregunta para obtener más detalles – timmfin

+0

Pruébelo con --noenv y vea si su .orig es ignorado. Además, ¿podría tu ack tener un alias para ack-a? Además, use ack -f para obtener una lista de todos los archivos que ack le interesan. –

+0

tengo ** ack: opción no válida en ~/.ackrc ** – nyxee

66

Ahora que ACK 2.0 está disponible:

--ignore-file=ext:orig 

, ya sea en la línea de comandos o .ackrc.

Es posible ignorar los archivos por su nombre. Hacer caso omiso de ctags generan archivos:

--ignore-file=is:tags 

Filtros para diferentes usos se pueden encontrar en documentation.

+1

Deseo que esto se actualice a la "respuesta aceptada", ¡esta es la mejor manera de hacerlo ahora! – jgillman

+0

Puede usar 'match' junto con una expresión regular para unir nombres de archivo y' ext' para extensiones. Excluya los archivos js '--ignore-file = ext: js'. Excluir archivos con el nombre foo y la barra '--ignore-file = 'match:/foo | bar /''. Escape el parámetro con comillas en caso de expresiones regulares con '|' para que el shell no lo ejecute como una tubería. – xtreak

1

Para ack versión 1.x utilice lo siguiente. En mi caso, quiero ignorar los archivos .css. Tengo que establecer el tipo llamado ALGO. Luego ajústelo a --noSOMETHING para eliminarlo de la búsqueda.

ack --type-set=SOMETHING=.css --noSOMETHING "My Bitcoin." 

enter image description here

Cuestiones relacionadas