Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add srgn #633

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Add srgn #633

wants to merge 1 commit into from

Conversation

alexpovel
Copy link

New App Submission

Repo or homepage link:

https://github.com/alexpovel/srgn/

Description:

srgn is a grep-like tool which understands source code syntax and allows for manipulation in addition to search.

Why I think it's awesome:

srgn leverages regex, which people are familiar with, and bundles it with the superpower of language grammar aware search. The latter is generally useful, but I've found existing tools (some listed here) sometimes aren't easily approachable, for example requiring specialized query syntax just to get started. For example, srgn is based on tree-sitter (also awesome!), which offers a CLI of its own, but using it requires learning about their S-expression syntax. In comparison, srgn is simple and easy to pick up. If you know regex and consult srgn --help or use shell completion, it is quite discoverable, with human-readable descriptions and error messages. The CLI is designed to guide users into correct usage (which Rust makes easy here). Its base usage can be brutally simple (like srgn --titlecase to titlecase input), and becomes more complex only when needed. Lastly, srgn also allows for manipulation of its search results, allowing for e.g. sweeping refactors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant