Version 0.4.0 of package Urgrep has just been released in GNU ELPA. You can now find it in M-x list-packages RET.
Urgrep describes itself as: ======================== Universal recursive grep ======================== More at https://elpa.gnu.org/packages/urgrep.html ## Summary: # Urgrep - Universal Recursive Grep [![GNU ELPA version][elpa-image]][elpa-link] **Urgrep** is an Emacs package to provide a universal frontend for *any* grep-like tool, as an alternative to the built-in `M-x rgrep` (and other similar packages). Currently, [`ugrep`][ugrep], [`ripgrep`][ripgrep], [`ag`][ag], [`ack`][ack], [`git grep`][git-grep], and [`grep`][grep]/[`find`][find] are supported. ## Why Urgrep? #### One package, many tools No matter which tool you prefer, you can use it with Urgrep. If a new tool comes along, you won't need to find a new Emacs package for it. #### Rich minibuffer interface Easily manipulate per-search options with Isearch-like key bindings within the Urgrep minibuffer prompt. #### Seamless support for Tramp ## Recent NEWS: # Urgrep News ## v0.4.0 (2024-01-22) ### New features - Add support for `outline-minor-mode` ### Bug fixes - Fix invocation of `ripgrep` and `urgrep` on Windows --- ## v0.3.0 (2023-12-17) ### New features - Add optional `urgrep-xref` feature, which lets Xref use Urgrep to create the command for searching in files/directories ### Bug fixes - Respect buffer-local values of `urgrep-preferred-tools` ### Breaking changes - `:files` keyword argument in `urgrep-command` and friends is now `:file-wildcard` - `:directory` keyword argument in `urgrep-commnd` and friends is now `:root`, and can accept file and/or directory names --- ## v0.2.0 (2023-08-31) ### New features - Add support for toggling whether to search in hidden files (`M-s h` in the search prompt, or `urgrep-search-hidden-files` globally) - Add `:directory` key to `urgrep-command`, allowing you to specify zero or more directories to search in - `urgrep` builtin for Eshell now supports specifying search directories as arguments - Allow setting the search tool to use on the fly when reading the query (`M-s t` in the search prompt) ### Breaking changes - `urgrep-run-command` now takes `:tool` as an optional key to match `urgrep` --- ## v0.1.1 (2023-06-07) ### Bug fixes - Fix Eshell integration --- ## v0.1.0 (2023-05-13) Initial release