this post was submitted on 12 Aug 2025
21 points (92.0% liked)
Programming
22442 readers
339 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
ast-grep is worth checking out too: https://ast-grep.github.io/
Some very quick, superficial differences:
ast-grep
uses tree-sitter for understanding languagesast-grep
is written in Rustast-grep
uses YAML for configast-grep
more normal--flags
comby
doesn't use tree-sitter and does it's own thing... not sure what to think of this approachcomby
is written in OCamlcomby
uses TOML for configcomby
uses-single-dash-flags
both have online playgrounds for testing
I personally hate YAML, so it's
comby
for me! (For now.)Also, here's what Comby says about its approach to matching: https://comby.dev/docs/faq
Fair enough. I hate YAML too, but I'm stuck with Python for now and Comby doesn't handle indentation too well (it's in their FAQ).
Oh, yeah makes sense. Thankfully, I'm refactoring Go!
I found ast-grep inconvenient to match several consecutive lines of python whereas comby handles this reasonably fine.