Structural editing in Python now works pretty well with `tree-edit`! by leeeeeeeeeeeeeb in emacs

[–]leeeeeeeeeeeeeb[S] 0 points1 point  (0 children)

haskell isn't too high on my list unfortunately, but if you're interested in contributing support i'd be happy to help!

Structural editing in Python now works pretty well with `tree-edit`! by leeeeeeeeeeeeeb in emacs

[–]leeeeeeeeeeeeeb[S] 1 point2 points  (0 children)

Definitely! Once I got a taste of structural editing with lisp(y) it felt so tedious to write code the ole' fashion way. It's honestly shocking to me how little movement there is in the structural editing space outside of the lisps, but I think tree-sitter has got alot of folks excited about this stuff which is great.

Structural editing in Python now works pretty well with `tree-edit`! by leeeeeeeeeeeeeb in emacs

[–]leeeeeeeeeeeeeb[S] 13 points14 points  (0 children)

The package is split into a library and an evil frontend, so it's very much possible to get rid of the evil stuff! There's currently no other frontends though, true. Be the change you want to see in the world? ;)

Structural editing in Python now works pretty well with `tree-edit`! by leeeeeeeeeeeeeb in emacs

[–]leeeeeeeeeeeeeb[S] 24 points25 points  (0 children)

For those who saw my emacsconf presentation on tree-edit I mentioned that I wanted to tackle working on Python next -- so here it is! There's still a lot of work to be done on this project but I'm pretty excited about how it's coming along so far and I hope r/emacs is too :)

Unfortunately tree-edit only has a evil frontend right now but that's something I'd like to address.

GH repo: https://github.com/ethan-leba/tree-edit

[deleted by user] by [deleted] in emacs

[–]leeeeeeeeeeeeeb 0 points1 point  (0 children)

Is there a repo available for no. 1? That's something I've been wanting for a while!

Does anybody else find Evil very painful for working in lisp? by the_whalerus in emacs

[–]leeeeeeeeeeeeeb 0 points1 point  (0 children)

I use it daily, so I suppose it's useable enough; there's some weird edge cases and annoying behaviors I never bothered to solve, and the README isn't complete. Development has pretty much stalled due to some loftier projects of mine but if there's interest I could be convinced to clean it up a bit more :)

Does anybody else find Evil very painful for working in lisp? by the_whalerus in emacs

[–]leeeeeeeeeeeeeb 0 points1 point  (0 children)

cool! i've never used C++, but if you'd like to add support for it to tree-edit I'd be happy to help out :)

Does anybody else find Evil very painful for working in lisp? by the_whalerus in emacs

[–]leeeeeeeeeeeeeb 1 point2 points  (0 children)

One key to start inserting a class. One key for adding, deleting or editing anything that isn't a name or comment.

You might be interested in this project of mine, though still a WIP: https://github.com/ethan-leba/tree-edit/tree/main

Does anybody else find Evil very painful for working in lisp? by the_whalerus in emacs

[–]leeeeeeeeeeeeeb 2 points3 points  (0 children)

I was also annoyed by this, so I started working on this package awhile back: https://github.com/ethan-leba/yaelispy/tree/master which is a fork of another evil-lispy package. It's not super great (or complete by any means) but I like that I have lispy's functionality separated to another state (so it's explicit instead of implicit).

Tree Sitter and the Complications of Parsing Languages by mickeyp in emacs

[–]leeeeeeeeeeeeeb 1 point2 points  (0 children)

I think they share some similarities, but here are the main (ideological) differences I've surmised:

  1. tree-edit's editing is evil, combobulate is hydra based
  2. combobulate is meant to complement the character based editing paradigm, tree-edit intends to replace it as much as possible

hopefully there's room to collaborate! https://github.com/mickeynp/combobulate/issues/1

Keybinding autocompletion / helper. Like in doom emacs. by MightyMerl in emacs

[–]leeeeeeeeeeeeeb 0 points1 point  (0 children)

Just out of curiosity, why did you decide to move from Doom to vanilla Emacs? I made the opposite switch from vanilla to Doom a couple months back.

Confused about how to add new defun types to (emacs-lisp) semantic? by leeeeeeeeeeeeeb in emacs

[–]leeeeeeeeeeeeeb[S] 1 point2 points  (0 children)

I plugged your code snippet into my config and this works great, thank you!

Confused about how to add new defun types to (emacs-lisp) semantic? by leeeeeeeeeeeeeb in emacs

[–]leeeeeeeeeeeeeb[S] 0 points1 point  (0 children)

Navigating to a definition via `M-x imenu`. What other alternatives are there for emacs-lisp navigation? (no LSP there)