treesitter-unit
parinfer-rust
treesitter-unit | parinfer-rust | |
---|---|---|
9 | 15 | |
149 | 516 | |
- | - | |
1.8 | 0.0 | |
over 2 years ago | about 1 month ago | |
Lua | Rust | |
The Unlicense | ISC License |
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.
treesitter-unit
-
paredit.vim – Paredit Mode: Structured Editing of Lisp S-Expressions
It's also relatively easy to write plugins based on the parsed AST. I wrote treesitter-unit[1] making it easy to select/modify the subtree of the selection.
[1]: https://github.com/David-Kunz/treesitter-unit
-
What do you use treesitter for other than highlighting?
I built a plugin to select units of tree-sitter objects https://github.com/David-Kunz/treesitter-unit
- USER FLAIRS: Apply now!
-
How to paste inline the content I deleted/yanked with x/d/dd/y/yy instead of pasting one line below?
To delete/yank the node, the combination would be `diu`, using this plugin: https://github.com/David-Kunz/treesitter-unit
- Nim Version 1.6 Released
-
Custom treesitter textobjects
Hi, I also think treesitter-textobjects are a bit overspecific, that's why I created https://github.com/David-Kunz/treesitter-unit/ .
-
Video: Let's create a Neovim plugin using Treesitter and Lua
In this video I create a Neovim plugin called 'treesitter-unit' using Lua. You can find the final plugin here: https://github.com/David-Kunz/treesitter-unit/
-
Plugin: treesitter-unit
I tried it with operator mode maps and it works perfectly! I updated the README to include: vim.api.nvim_set_keymap('o', 'x', ':lua require"treesitter-unit".select()', {noremap=true})
parinfer-rust
-
neovim plugins that have improved your workflow
parinfer-rust, while LISP only for reasons, is still absolutely amazing overall for its performance compared to the Lua version. I do wish there were more bracketing/scope algorithms out there for other languages. With a parinfer plugin, you only need to start a bracket for it to close what it believes is your scope. Great for enclosing things in functions
-
Why is parinfer not as good as I think it is?
While my main daily driver is also IntelliJ, and also for Parinfer, I have found that Neovim + Rust-parinfer works remarkably well.
-
Why Rust ?
Another example where rust's benefits show is something like parfiner. Currently I'm using my own ffi interface to https://github.com/eraserhd/parinfer-rust, and it feels significantly faster than the plain-lua version I had before. Getting to write the whole thing in rust just makes life easier and simpler
- paredit.vim – Paredit Mode: Structured Editing of Lisp S-Expressions
-
Lisp programming configuration for neovim
I use a combination of parinfer-rust and Conjure for my Clojure, Janet, and Fennel development.
-
Can vim become an emacs or is it already one or not?
My personal configuration is also written in fennel if you would like to take. look: https://github.com/shaunsingh/nyoom.nvim. Neovim's come a long way in what you can do with it. Fennel has a macro system as with any lisp, so you can make the syntax feel right at home with emacs https://github.com/shaunsingh/nyoom.nvim/tree/main/fnl/macros. You can even create dynamic-module like integrations with rust programs (see https://github.com/shaunsingh/nyoom.nvim/blob/main/fnl/parinfer/init.fnl, interacting with https://github.com/eraserhd/parinfer-rust/tree/master/src)
-
What are your must-have vim/nvim extensions?
eraserhd/parinfer-rust if you do any sort of Lisp programming
-
Why Clojure in a single Orgpad diagram
Clojure is an amazing language, and so is Rust. In fact, I think learning both of them is a wonderful way to introduce ourselves to such a broad range of programming ideas that it covers over half of the seven programing ur-languages. It's even worth investigating the differences in the way these languages have developed over time (Clojure being Rich's project and Rust taking a community approach). These ideas aren't in opposition to each other. If they were, the indispensable editor plugin I use to write Clojure wouldn't exist for crying out loud.
-
Parinfer fans wanted
Have you seen an excellent parinfer-rust implementation of Parinfer? It's quite fast and can be integrated with other editors, like Emacs, Kakoune, Vim, etc. I think you can try to see if your integration passes their tests.
-
Changing shift-left-right Behavior in Lisp Mode
I am currently using parinfer. It’s not exactly minimal, but it doesn’t require much configuration and doesn’t have any special keybinds.
What are some alternatives?
jester - A sinatra-like web framework for Nim.
nvim-ts-rainbow - Rainbow parentheses for neovim using tree-sitter. Use https://sr.ht/~p00f/nvim-ts-rainbow instead
nvim-treesitter-textsubjects - Location and syntax aware text objects which *do what you mean*
feline.nvim - A minimal, stylish and customizable statusline for Neovim written in Lua
cps - Continuation-Passing Style for Nim 🔗
lispy - Short and sweet LISP editing
syntax-tree-surfer - A plugin for Neovim that helps you surf through your document and move elements around using the nvim-treesitter API.
kakoune-doas-write - Fork of kakoune-sudo-write to use doas instead.
nvim-treesitter-textobjec
awesome-neovim - Collections of awesome neovim plugins.
cmdchallenge
nvim-dap - Debug Adapter Protocol client implementation for Neovim