How can I get ack to ignore *.orig files?

2019-04-17 19:40发布

问题:

I put this in my .ackrc:

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

... but I'm still seeing files like main.py.orig in my ack results. I tried doing --type-set=DUMB=*.*.orig too, but that didn't work either.

More info

Run from my command line (OSX Snow Leopard with :

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

回答1:

For ack version 1.x

I found this worked if I removed the asterisk (from the Ackmate wiki)

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

You can see what types of file ackmate supports by running (including those you've specified in ~/.ackrc):

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


回答2:

Now that ack 2.0 is available:

--ignore-file=ext:orig

, either on command line or .ackrc.

It is possible to ignore files by name. To ignore ctags generated files:

--ignore-file=is:tags

Filters for different uses can be found on documentation.



回答3:

For ack version 1.x use the following. In my case, I want to ignore .css files. I have to set the type called SOMETHING. Then set it to --noSOMETHING to remove it from search.

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



回答4:

ack doesn't recognize .orig files in the first place. I'm guessing you are somehow invoking ack -a either from your ackrc or ACK_OPTIONS.



标签: ack