4 ms·
It's nice to see more Emacsen, though without something like eglot or lsp-mode I don't think they'll really take off. That said, I am very fond of the undo-tre
by tmtvl 4y ago
It's nice to see more Emacsen, though without something like eglot or lsp-mode I don't think they'll really take off.
That said, I am very fond of the undo-tree package for Emacs and I doubt I could switch to any editor that doesn't have something similar.
- susam 4y agoThe good news is that Eglot is very likely going to be included with Emacs 29.1. See https://lists.gnu.org/archive/html/emacs-devel/2022-09/msg01583.html https://lists.gnu.org/archive/html/emacs-devel/2022-09/msg01... for a discussion on this topic.
- BaculumMeumEst 4y agoUnless I'm mistaken that means it won't be included out of the box but will instead be available to download and install from ELPA, right?
- tmtvl 4y agoEglot already is available from ELPA, I think they actually are planning on including it in the box of batteries that Emacs ships with.
- BaculumMeumEst 4y agoOh wow, that’s awesome. I had thought LSP mode was more popular but I prefer eglot so that works for me.
- vindarel 4y agoLem uses its LSP mode. https://github.com/lem-project/lem/ https://github.com/lem-project/lem/ (don't know much more, maybe it is that one (same author) https://github.com/cxxxr/cl-lsp https://github.com/cxxxr/cl-lsp) (edit: there's also https://github.com/nobody-famous/alive-lsp/ https://github.com/nobody-famous/alive-lsp/ that is built for the Alive extension that brings great CL support to VSCode (usable but in the works right now).
- tmtvl 4y agoNeat, I'll keep an eye on Lem, thank you for bringing it to my attention!
- jes 4y agoI have used Emacs for decades and TIL about undo-tree. Thank you!
- daptaq 4y agoYou might also be interested in vundo: https://elpa.gnu.org/packages/vundo.html https://elpa.gnu.org/packages/vundo.html. It is a newer alternative that is to my knowledge more robust, but depends on Emacs 28.
- BaculumMeumEst 4y agoCould you elaborate on "more robust"? I use undo tree currently and the readme suggests it has less features- does undo tree have problems that vundo solves? I don't mind undo tree needing to be enabled all the time or replacing undo commands.
- daptaq 4y agoI don't recall the implementation details, but I have heard of undo-tree landing in invalid states that can break the history. It might just be that vundo is newer, but I haven't heard of these kinds of stories for that package. In my eyes it is the more idiomatic implementation.
- BaculumMeumEst 4y agoI’ve heard the same about undo-tree, was wondering if that was what you were referring to. I haven’t experienced it myself but maybe I’ll check out vundo before I do..
- b3morales 4y agoI have not used vundo, but it seems to be just a visualizer for the buffer undo list, whereas undo-tree takes over the undo system, replacing not just the commands but the data structure (https://github.com/apchamberlain/undo-tree.el/blob/help-in-visualizer-frame/undo-tree.el#L1677-L1726 https://github.com/apchamberlain/undo-tree.el/blob/help-in-v...). In other words, I think there's simply less surface area for vundo to have or cause problems.
- OrderlyTiamat 4y agois there a tldr on undo-tree's capabilities? I really like emacs' default undo behaviour, especially it's region bound behavior. undo-tree is kind of like vim right? Ive actually never really grokked that one either. I even remove undo-tree after installing evil as its an unwanted change for me, and evil has no option not to use it.
- tmtvl 4y agoUndo tree stores the changes you make in a tree, like Emacs does by default, but its undo function is undo only and its redo function is redo only. When there are multiple different changes you can redo you can select which one you want. Vundo offers that functionality with Emacs' default undo tree, making it an objectively better package as it preserves undo-in-region, which undo-tree lacks.
- OrderlyTiamat 4y agoI might take a look at vundo then, that sounds great. Thank you both for the explanations!
- nequo 4y agoWalking the tree of changes has proven very useful to me several times. Undo-tree can also display the diff for each change. Useful when an operation induced changes in different parts of a long document (for example rerunning source code blocks with org-babel).