srgn
ast-grep
srgn | ast-grep | |
---|---|---|
5 | 35 | |
395 | 5,950 | |
- | 4.9% | |
9.4 | 9.9 | |
about 1 month ago | 2 days ago | |
Rust | Rust | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
srgn
- Show HN: Srgn, AST-aware text manipulation
-
Ask HN: What apps have you created for your own use?
It's currently whitelist-based [0]. The downside is larger (code) size. The upside is simplicity. I imagine a blacklist could also work well, at smaller size but with more preprocessing needed.
[0]: https://github.com/alexpovel/srgn/blob/0008cce1c71f0d83f6a31...
- srgn: precise text and code transplantation; think tr/sed + regex + tree-sitter
-
AST-grep(sg) is a CLI tool for code structural search, lint, and rewriting
Wow! What a coincidence. Just the other day I finished "v1" of a similar tool: https://github.com/alexpovel/srgn , calling it a combination of tr/sed, ripgrep and tree-sitter.
I've spent a lot of time trying to find similar tools, and even list them in the README, but `AST-grep` did not come up! I was a bit confused, as I was sure such a thing must exist already. AST-grep looks much more capable and dynamic, great work.
ast-grep
-
An infinite canvas for code exploration
It's unclear what the superpowers would be? Video doesn't show anything I can't do with an IDE or decent code editor, and there I also have refactoring tools, metadata like indicators for usages that can be used for navigating and so on.
Reminds me of UML-like diagrams over relational databases, except that it's generated one piece at a time. In practice I generate diagrams showing cyclomatic complexity much more often, and for code exploration outside the IDE I'd use ast-grep.
https://ast-grep.github.io/
-
Migrate to React 19 with ast-grep
This article illustrates the usage of ast-grep, a tool designed to locate and substitute patterns in your codebase, towards easing your migration to React 19.
- AST-grep(sg) AST grep based on Treesitter
-
Show HN: GritQL, a Rust CLI for rewriting source code
This looks great, thanks for building and sharing it.
Interested folks may also want to check out ast-grep:
https://github.com/ast-grep/ast-grep
-
How I build a chatbot for my OSS project, for free, without code!
ast-grep is a command-line tool that lets you search and transform code written in many programming languages using abstract syntax trees (ASTs). ASTs are data structures that capture the syntactic and semantic structure of source code. With ast-grep, you can write patterns as if you are writing ordinary code, and it will match all code that has the same syntactical structure. And if you need more power, you can use YAML, a rule system that allows you to write more sophisticated linting rules or code modifications.
- FLaNK Stack Weekly 11 Dec 2023
-
AST-grep(sg) is a CLI tool for code structural search, lint, and rewriting
I really like this - it means the tool is available to people with familiarity of any of those four distribution mechanisms.
You can also download pre-built binaries from their releases page: https://github.com/ast-grep/ast-grep/releases/tag/0.14.2
On top of that, they offer API bindings for it in three different languages:
- Rust (not yet stable): https://docs.rs/ast-grep-core/latest/ast_grep_core/
- JavaScript/TypeScript: https://ast-grep.github.io/guide/api-usage/js-api.html
- Python: https://ast-grep.github.io/guide/api-usage/py-api.html
It's rare to see a tool/library offer this depth of language support out of the box.
What are some alternatives?
lsd - LSD - line-square-dot: an addicting game
ssr.nvim - Treesitter based structural search and replace plugin for Neovim.
oatmeal - Terminal UI to chat with large language models (LLM) using different model backends, and integrations with your favourite editors!
helix - A post-modern modal text editor.
clipzoomfx - Side-project for extracting highlights from (mostly sports) videos
weggli - weggli is a fast and robust semantic search tool for C and C++ codebases. It is designed to help security researchers identify interesting functionality in large codebases.
dhcptool - Tool for testing/debugging DHCP servers
git-repo-sync - Auto synchronization of remote Git repositories. Auto conflict solving. Network fail resilience. Linux & Windows support. And more.
syntax-searcher - Language-independent command-line utility for syntax-aware pattern matching.
telescope.nvim - Find, Filter, Preview, Pick. All lua, all the time.
webpub - Give me a website, I'll make you an epub.
telescope-sg - Ast-grep picker for telescop.nvim