You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.5 KiB


I like when people send pull requests. It validates my existence. If you want to help out, check the issue list or search the codebase for TODO. Don't worry if you lack experience writing C. If I think a pull request isn't ready to be merged, I'll give feedback in comments. Once everything looks good, I'll comment on your pull request with a cool animated gif and hit the merge button.

Running the test suite

If you contribute, you might want to run the test suite before and after writing some code, just to make sure you did not break anything. Adding tests along with your code is nice to have, because it makes regressions less likely to happen. Also, if you think you have found a bug, contributing a failing test case is a good way of making your point and adding value at the same time.

The test suite uses Cram. You'll need to build ag first, and then you can run the suite from the root of the repository :

make test

Adding filetypes

Ag can search files which belong to a certain class for example ag --html test searches all files with the extension defined in lang.c.

If you want to add a new file 'class' to ag please modify lang.c and list_file_types.t.

lang.c adds the functionality and list_file_types.t adds the test case. Without adding a test case the test will fail.