puni
Structured editing (soft deletion, expression navigating & manipulating) that supports many major modes out of the box. (by AmaiKinono)
macrostep
interactive macro-expander for Emacs (by joddie)
Our great sponsors
puni | macrostep | |
---|---|---|
8 | 4 | |
364 | 205 | |
- | - | |
6.0 | 2.8 | |
4 months ago | about 2 months ago | |
Emacs Lisp | Emacs Lisp | |
GNU General Public License v3.0 only | - |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
puni
Posts with mentions or reviews of puni.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-27.
- Paredit-like features in non-lisp modes?
-
Good Emacs Packages
For working with delimiters, you might want to check out Smartparens or Puni. There are many other packages like these, but those are the two I know about.
-
Tree-sitter starter guide
I'm guessing the way forward here for navigation is to change Emacs' built-in sexp-navigation when treesitter is available? forward-sexp, backward-up-list, down-list, raise-sexp etc do a good job in lisp environments, and they can now work everywhere. Packages that build on these (like Puni will automatically gain treesitter-awareness.
-
What modal sexp editing mode should I switch to?
I have never used lispy, but I have used puni for a while now, and I'm pretty satisfied with it. I am not sure that it's exactly what you're looking for since it takes a more limited approacg, but it has a lot of the same features: slurping, barfing, raising, splicing etc.
-
What packages do I need to for the best elisp editing environment?
For any Lisp you want paredit or any other structural editing package (I switched to puni recently because it’s more customizable and works with non-Lisp languages too). The first three days will suck hard because it’ll feel like the tools get in your way, but once you’re comfortable with it it’ll be the best thing ever.
-
paredit based on treesitter
Afaik puni uses only forward-sexp for navigating and manipulating sexps. So if you implement a forward-sexp-function that uses treesit.el it should work without any changes.
- Find out a great emacs package for structural editing.
- puni: Structured editing (soft deletion, expression navigating & manipulating) that supports many major modes out of the box.
macrostep
Posts with mentions or reviews of macrostep.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-01-06.
- use-package: does :defer t loads a package based on its autoloads?
-
Do people tend to misuse the :init keyword of use-package?
Yes. Most people seem to use use-package without really understanding what it's doing. I love use-package, but I never edit use-package declarations without macrostep (also (setq use-package-expand-minimally t)) to see what it expands to.
-
What packages do I need to for the best elisp editing environment?
Macrostep made me 10-20x faster at diving into, profiling, and debugging emacs lisp codebases.
-
Does the use-package ":bind" command bind the keys to the global key map if it doesn't contain the "map keyword?
Try macrostep to interactively expand these nested macros.
What are some alternatives?
When comparing puni and macrostep you can also consider the following projects:
smartparens - Minor mode for Emacs that deals with parens pairs and tries to be smart about it.
helpful - A better Emacs *help* buffer
jinx - 🪄 Enchanted Spell Checker
speed-of-thought-lisp - Write elisp at the speed of thought. Emacs minor mode with abbrevs and keybinds.
symex.el - An intuitive way to edit Lisp symbolic expressions ("symexes") structurally in Emacs
lisp-extra-font-lock - Highlight bound variables and quoted expressions in lisp
jake-emacs - My personal Emacs configuation.
lispy - Short and sweet LISP editing
lunarymacs - Moon-based Emacs configuration.
ts-movement - Emacs 29+ minor mode for syntax tree navigation using Tree Sitter