Ag & Ripgrep: .ignore

A few days ago, Andrew Gallant (AKA BurntSushi) released ripgrep, a search tool similar to to ag. To coincide with the initial release, Gallant wrote a blog post comparing various search tools. In it, he discusses both the advantages and shortcomings of a half-dozen tools, including ag. He finds bugs, pathological performance cases, and unexpected ways in which these tools can be sped-up. If the topic even remotely interests you, read Gallant’s blog post.

When Gallant’s post was discussed on Hacker News, I replied with my thoughts. This spurred a pleasant and productive discussion. I noticed that both of our tools had ignore files (.agignore and .rgignore), so I suggested we converge on a common name and format. We quickly agreed on .ignore (surprisingly, it wasn’t taken). Within a couple of hours, both of us had added the feature into our respective projects.12 The author of sift also seems to be on board.

Support for .ignore files is in ag v0.33.0 and later. If you have .agignore files, don’t worry. You’ll have plenty of time to rename them. It will be at least six months before I deprecate them, and probably a year before they’re no longer read.

The whole experience was positive for everyone involved. Andrew and I had an enjoyable exchange. Users of our tools were saved some trouble. And there’s a decent chance that more software will support the same .ignore standard. I’m happy to have played a part in creating this small gem of collaboration.

When commenting, remember: Is it true? Is it necessary? Is it kind?

Go dark.