Hacker News new | past | comments | ask | show | jobs | submit login
Combobulate: Structured Movement and Editing with Tree-Sitter (masteringemacs.org)
117 points by nemoniac on Jan 31, 2023 | hide | past | favorite | 15 comments



Helix has some treesitter-based movement commands but it is not as comprehensive as what is shown here. I hope this sort of thing keeps on growing, it has great potential imho

https://docs.helix-editor.com/usage.html#tree-sitter-textobj...


Yes, it's a brave "new" world. It's surprisingly hard to build this stuff, even with tree-sitter, though!


This is really cool. Been waiting for this for Python after using similar functionality for Clojure a few years back.

Time to update emacs to 29...


Even if when emacs isn't your editor of choice, everyone benefits from exploration of advancing our vocabulary and idioms for navigating parse trees.


Would be nice to add "Emacs" in the title. I thought this was some external, LSP-like, movement protocol for any editor based on the title.


The idea is similar to what Project Mage tries to achieve: https://project-mage.org/

My bet: in 2-3 years from now on Emacs will have a pretty great structured editing capabilities without promising the the sun and the moon. Because, you know, emacs!


Interesting. Most of these features already exist in VS code. I wonder if they are just implemented with great difficulty.

I hope VS code adopts tree sitter https://github.com/microsoft/vscode/issues/50140


I use paredit constantly in all languages, but it doesn’t do much for you in Python and this looks like the answer.

Count me in!


I've been a fan of structured editors since the early 1990es, but they do take a serious learning commitment before they pay off. This looks very promising and I like the care that went into it and the presentation.

Unfortunately it doesn't current support any of the languages I use daily (Rust and C), but I would join a patron or similar if that might speed up Rust support.


What dependencies is it relying on besides the obvious Emacs 29 treesitter integration? The last time I dabbled it depended on eg. Hydra, a massive package and was quite the opposite of "unobtrusive middleware"


Nothing but tree-sitter. The alpha had hard-coded dependencies because it was, well, an alpha.


Great news and thank you for this package! Can't wait to see it available on MELPA.


If we can have a common grammar of movements, independent of languages, thanks to tree-sitter, then we'll probably have improved editor experience a lot for the common years, it's exciting!


I confess I wasn't too excited about this stuff. It has advanced faster than I was expecting, though. Looking forward to playing with it, now. Kudos to all involved!


Is there any Emacs framework these days that is keeping up with these new amazing packages released in the last couple of years?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: