evil-textobj-tree-sitter
puni
Our great sponsors
evil-textobj-tree-sitter | puni | |
---|---|---|
12 | 8 | |
184 | 364 | |
- | - | |
6.6 | 6.0 | |
7 days ago | 4 months ago | |
Scheme | Emacs Lisp | |
Apache License 2.0 | GNU General Public License v3.0 only |
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.
evil-textobj-tree-sitter
-
Let's write an Emacs treesitter major mode
You may be aware but the author of TFA also has a tree-sitter based minor mode called Combobulate for exactly that:
https://www.masteringemacs.org/article/combobulate-structure...
There is also evil-textobj-tree-sitter for tree-sitter based text objects for Evil mode:
-
How to Get Started with Tree-Sitter
here are the structural editing tools, and they're great - https://github.com/meain/evil-textobj-tree-sitter
- evil-textobj-tree-sitter: Tree-sitter powered textobjects for evil mode in Emacs
-
Tree-sitter starter guide
evil-mode users already have options, and there seems to be a new package with general applicability too.
-
Best packages to use with evil mode .
evil-textobj-tree-sitter: provides new textobjects to evil-mode, thanks to treesitter
-
Are we living in the golden age of Emacs?
I have a package which lets you target language level constructs like functions, classes, conditionals etc for text objects using tree-sitter. This is specific to evil mode as of now, though making it work outside evil would not be that big an effort. https://github.com/meain/evil-textobj-tree-sitter
-
Tree Sitter and the Complications of Parsing Languages
Other than combobulate, these packages also use tree-sitter for changing code (not just highlighting): * https://codeberg.org/FelipeLema/tree-sitter-indent.el * https://github.com/meain/evil-textobj-tree-sitter
-
Using tree-sitter to create better snippets
this might interest you: https://github.com/meain/evil-textobj-tree-sitter
-
The State of Structural Editing in Emacs?
not lsp, treesitter is the way to go. lsp does not provide AST ATM. There is already https://github.com/meain/evil-textobj-tree-sitter . As a side note, smartparens work on non-lispy code. I am very happy with using in combination with evil-cleverparens.
puni
- 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.
What are some alternatives?
doom-emacs - An Emacs framework for the stubborn martian hacker [Moved to: https://github.com/doomemacs/doomemacs]
smartparens - Minor mode for Emacs that deals with parens pairs and tries to be smart about it.
combobulate - Structured Editing and Navigation in Emacs with Tree-Sitter
jinx - 🪄 Enchanted Spell Checker
lispy - Short and sweet LISP editing
symex.el - An intuitive way to edit Lisp symbolic expressions ("symexes") structurally in Emacs
nvim-gps - Simple statusline component that shows what scope you are working inside
jake-emacs - My personal Emacs configuation.
things.el - Extensions to thingatpt.el
lispy - Short and sweet LISP editing
evil-cleverparens - Evil normal-state minor-mode for editing lisp-like languages
speed-of-thought-lisp - Write elisp at the speed of thought. Emacs minor mode with abbrevs and keybinds.