dajva / rg.el

Emacs search tool based on ripgrep
https://rgel.readthedocs.io
GNU General Public License v3.0
485 stars 41 forks source link
emacs grep melpa ripgrep search

rg.el

License GPL 3 MELPA Stable MELPA Build Status Coverage Status

Use ripgrep in Emacs.

Ripgrep is a replacement for both grep like (search one file) and ag like (search many files) tools. It's fast and versatile and written in Rust. For some introduction and benchmarks, see ripgrep is faster than {grep, ag, git grep, ucg, pt, sift}.

screenshot

Installation

This package is available on MELPA Stable and MELPA. Install with M-x package-install RET rg from within Emacs.

It is also available in GNU Guix as emacs-rg. Install with guix package -i emacs-rg.

If you want to install manually just put rg.el and the rest of the elisp files somewhere in your load path and add require the package:

(require 'rg)

rg and friends are autoloaded symbols which means it's also possible to defer loading if you have autoloading setup.

Setup key bindings

This will setup the default key bindings in a non lazy way. If you care about startup performance see the next example.

(rg-enable-default-bindings)

See documentation for how to handle lazy loading.

Use old defaults

rg.el 2.0.0 will use new default settings to improve look and feel, more consistent key bindings etc. If you want to use the old defaults add this to your init.el:

(rg-use-old-defaults)

rg-menu

If you prefer to use a magit like interface as a complement to regular key maps, replace (rg-enable-default-bindings) with (rg-enable-menu). The menus are built with transient, which means that the menus can be modified in the same way as in magit.

Documentation

Info documentation is included in the package. Online documentation: https://rgel.readthedocs.io

Contribute

make deps
make test

License

See LICENSE.