puni
Structured editing (soft deletion, expression navigating & manipulating) that supports many major modes out of the box. (by AmaiKinono)
smartparens
Minor mode for Emacs that deals with parens pairs and tries to be smart about it. (by Fuco1)
Our great sponsors
puni | smartparens | |
---|---|---|
8 | 19 | |
365 | 1,788 | |
- | - | |
6.0 | 7.1 | |
4 months ago | 6 days ago | |
Emacs Lisp | Emacs Lisp | |
GNU General Public License v3.0 only | 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.
smartparens
Posts with mentions or reviews of smartparens.
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?
Check out smartparens which supports several non-lisp languages including c and js. Learn more here: https://github.com/Fuco1/smartparens
-
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.
-
ts-movement: a package to navigate the tree-sitter syntax tree (supports multiple-cursors)
I think the following packages would fit your wishlist, as it is very similar to mine. As mentioned in the replies, there is (https://github.com/magnars/expand-region.el) and (https://github.com/mickeynp/combobulate). I regularly use (https://github.com/Fuco1/smartparens).
-
single quote in elisp
This particular issue has been reported there: https://github.com/Fuco1/smartparens/issues/1017
-
Your first taste of emacs
smart-parens bracket/parens matching is nice
-
Tree Sitter and the Complications of Parsing Languages
Emacs seems to attract quite a lot of people who want structural code editing. We now have * paredit * smartparens * evil-cleverparens * lispy * symex * combobulate (more?)
-
Lispy / Lispyville for JavaScript?
Smartparens is trying to bring the paradigm of lispy/paredit to other languages, though the reality is that the non-structured syntax of other languages do not offer the best experience.
-
How do I check what functions emacs is evaluating when I type a given character?
If you want to do automatic pairing of Org's markup delimters (which depend on context), I suggest instead trying Smartparens (https://github.com/Fuco1/smartparens), which already supports such pairing.
-
Can I force show-paren-mode to be non-global?
If not, there is also show-smartparens-mode from the Smartparens package, which is buffer-local.
- Why is Paredit is so un-Emacsy?
What are some alternatives?
When comparing puni and smartparens you can also consider the following projects:
jinx - 🪄 Enchanted Spell Checker
paredit-everywhere - Enable some paredit features in non-lisp buffers
symex.el - An intuitive way to edit Lisp symbolic expressions ("symexes") structurally in Emacs
lispy - Short and sweet LISP editing
jake-emacs - My personal Emacs configuation.
embrace.el - Add/Change/Delete pairs based on `expand-region', similar to `evil-surround'.
lispy - Short and sweet LISP editing
tree-sitter-org - Org grammar for tree-sitter
speed-of-thought-lisp - Write elisp at the speed of thought. Emacs minor mode with abbrevs and keybinds.
hydra - make Emacs bindings that stick around
lunarymacs - Moon-based Emacs configuration.
use-package - A use-package declaration for simplifying your .emacs