emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[RFC] Urgrep: New ELPA submission (eventually)


From: Jim Porter
Subject: [RFC] Urgrep: New ELPA submission (eventually)
Date: Sun, 11 Sep 2022 21:56:04 -0700

(Resending; sorry if you get duplicates.)

A while back, I made a package called Urgrep ("Universal Recursive Grep" - <https://github.com/jimporter/urgrep>), and now that it's pretty stable, I'm starting preparations to submit it to GNU ELPA. I'm not *quite* ready to submit it for real, but I'm reasonably close and wanted to get some wider feedback before I actually do submit it. If you have any suggestions, questions, etc, I'm happy to hear them.

A brief summary: Urgrep is designed to provide a universal interface on top of all "recursive grep"-like commands, from ripgrep to git grep to the classic find+grep. I made it to solve a frustration I had with other similar packages: they're primarily built to support a *particular* searching tool, and while some can be coaxed into running with other tools, it doesn't always work. Even when it does, it's usually not seamless, especially when you add Tramp to the equation.

With Urgrep, you can use *any* rgrep-like command[1]. It will automatically use the best tool on the system in question, so if some remote host doesn't have your favorite tool, it'll still work just fine.

I also added some Isearch-like bindings in the main function's prompt (creatively named 'urgrep'). These all start with M-s and let you set common search flags, like number of context lines. Maybe there's a better way to do this; the current method seemed reasonable to me, but I'm certainly open to suggestions. (I looked at transient.el, but it didn't seem like the best fit in this case; maybe I just don't know enough about transient.el though.)

Again, I'm not quite ready to submit this to GNU ELPA, but I think it's stabilized enough that it's worth getting some more eyes on it in case I missed something.

- Jim

[1] If it doesn't support your favorite one out of the box, you can add your own support: you just need to add to 'urgrep-tools' with the right mappings for the various flags.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]