Skip to content

Instantly share code, notes, and snippets.

@kevinold
Forked from hernamesbarbara/.ackrc
Created February 10, 2013 13:54
Show Gist options
  • Star 38 You must be signed in to star a gist
  • Fork 8 You must be signed in to fork a gist
  • Save kevinold/4749656 to your computer and use it in GitHub Desktop.
Save kevinold/4749656 to your computer and use it in GitHub Desktop.
#ack is a tool like grep, designed for programmers with large trees of heterogeneous source code
#to install ack, see http://betterthangrep.com/
#to use ack, launch terminal (mac osx) and type 'ack <some_keywords>'
#ack will search all files in the current directory & sub-directories
#here's how I have my config file setup. this file is located on mac osx here
# ~/.ackrc
# Always sort the files
#--sort−files
# Always color, even if piping to a another program
--color
# Use "less −r" as my pager
# --pager
# less -r
--ignore-dir=.idea/
--ignore-dir=node_modules/
#make sure ack knows how to search common filetypes used in rails projects
--type-add=css=scss
--type-add=ruby=.haml,.rselm,.feature,.ru,.lock
--type-set=coffeescript=.coffee
--type-set=coffee=.coffee
#make sure ack knows how to search common filetypes used in node.js projects
--ignore-dir=node_modules
--type-set=coffee=.coffee
--type-set=jade=.jade
--type-set=feature=.feature
--type-set=json=.json
@darookee
Copy link

This ackrc is valid for ack 1.x, ack 2 uses the --type-set=json:ext:json format

@tomek-he-him
Copy link

👍

Same for --ignore-dir – the new format seems to be --ignore-directory=is:node_modules.

@jezen
Copy link

jezen commented May 24, 2015

@tomekwi Not according to the manual.

--[no]ignore-dir=DIRNAME, --[no]ignore-directory=DIRNAME
    Ignore directory (as CVS, .svn, etc are ignored). May be used multiple times to ignore multiple directories. For example, mason users may wish to include --ignore-dir=data.
    The --noignore-dir option allows users to search directories which would normally be ignored (perhaps to research the contents of .svn/props directories).

    The DIRNAME must always be a simple directory name. Nested directories like foo/bar are NOT supported. You would need to specify --ignore-dir=foo and then no files from any
           foo directory are taken into account by ack unless given explicitly on the command line.

--ignore-file=FILTERTYPE:FILTERARGS
    Ignore files matching FILTERTYPE:FILTERARGS.  The filters are specified identically to file type filters as seen in "Defining your own types".

@F1LT3R
Copy link

F1LT3R commented Dec 13, 2016

Thanks for posting this, it was really helpful @kevinold!!

I could get your --sort-files to work though :(

Any ideas why?

(I get Unknown option: sort−files in the CLI)

@petdance
Copy link

@F1LT3R --sort-files should work just fine. If you still can't get it working, please submit a ticket here: https://github.com/petdance/ack2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment