iswap.nvim
Our great sponsors
vim-treesitter | iswap.nvim | |
---|---|---|
2 | 9 | |
72 | 484 | |
- | - | |
0.0 | 5.8 | |
over 1 year ago | 2 months ago | |
Go | Lua | |
- | MIT 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.
vim-treesitter
-
Vim Boss – Neovim
You are stating these things as though they were established facts. But they seem to be opinions. Or do you have data to back them up?
> People who are new to vim-style-editors and go to neovim are mainly people who would have gone to vim if neovim didn't exist.
It seems reasonable to assume that a lot of new people would not pick up either Vim or Neovim without LSP integration and Tree-sitter.
Vim has adopted a lot of the early features of Neovim and now Vim9 also has virtual text for rendering LSP diagnostics in the buffer[1] and there is a Vim9 LSP plugin too. But it does not at all seem likely that Vim would have these things were it not for the push from Neovim.
Besides, it looks like Vim still does not have mature support for Tree-sitter.[2]
> Well, the prevalent wisdom of 30+ years of FOSS has been that they're mostly bad.
There are many famous forks from the past 30 years that hardly anybody calls bad. Some examples: Net/Free/OpenBSD, GNU/XEmacs, Open/LibreSSL. These projects allowed people with different goals or values to carry on in their own directions, while also motivating each other to pick up development pace. They have often also shared code with each other.
[1] Which looks like this: https://sr.ht/%7Ewhynothugo/lsp_lines.nvim/
[2] One experimental plugin I came across: https://github.com/mattn/vim-treesitter
-
Bram: "Neovim has included Treesitter, which is an implementation of this. Once Vim9 is done I'll have a look at whether it is a good choice to include with Vim"
mattn might be cooking something: https://github.com/mattn/vim-treesitter
iswap.nvim
-
Sibling-swap.nvim: another way to swaps arguments, array's items and attributes
Could you elaborate on how is this different from https://github.com/mizlan/iswap.nvim?
-
Moving from IDE to VIM Cheatsheet
The "move element left/right" thing you might be interested in https://github.com/mizlan/iswap.nvim perhaps?
-
I must be missing something
iswap.nvim: Swap argument with treesitter.
-
Post-operation flashing and arbitrary node swapping!
[iswap.nvim](https://github.com/mizlan/iswap.nvim) is a plugin for swapping things around interactively in your buffer (powered by tree-sitter). Since the start I've entertained the idea of a post-operation highlight flash that confirms the operation, since otherwise it is sometimes hard to tell what you just did (to make sure you did it correctly). Also, you can arbitrarily swap sibling nodes too now, thanks to a PR by u/JoseConseco_ !
-
Swapping objects with `nvim-treesitter-textobjects`
Btw, I found the queries from https://github.com/mizlan/iswap.nvim helpful in implementing this approach. (For example I found (variable_list (_) @swappable) was not covered in your lua queries. Once again thanks, this is great fun!
-
USER FLAIRS: Apply now!
Plugin author: https://github.com/mizlan/iswap.nvim
- Bram: "Neovim has included Treesitter, which is an implementation of this. Once Vim9 is done I'll have a look at whether it is a good choice to include with Vim"
-
Custom treesitter textobjects
- https://github.com/mizlan/iswap.nvim : again uses hints for swapping treesitter nodes
-
iswap.nvim: Interactively swap function arguments, list elements, and more using tree-sitter!
iswap.nvim is a plugin that allows you to interactively swap... things! Like a lot of things: function arguments, list elements, parameters, and more! Take a look and see if it tickles your fancy!
What are some alternatives?
nvim-treehopper - Region selection with hints on the AST nodes of a document powered by treesitter
nvim-ts-rainbow - Rainbow parentheses for neovim using tree-sitter. Use https://sr.ht/~p00f/nvim-ts-rainbow instead
hop.nvim - Neovim motions on speed!
vim-swap - Reorder delimited items.
nvim-gps - Simple statusline component that shows what scope you are working inside
Vim - The official Vim repository
vim-treesitter - vim async coloring experiment
nvim-treesitter-textsubjects - Location and syntax aware text objects which *do what you mean*
nvim-treesitter-context - Show code context