nvim-treesitter-textsubjects
hop.nvim
Our great sponsors
nvim-treesitter-textsubjects | hop.nvim | |
---|---|---|
18 | 4 | |
456 | 25 | |
- | - | |
4.3 | 2.0 | |
about 1 month ago | over 2 years ago | |
Scheme | Lua | |
Apache License 2.0 | GNU General Public License v3.0 or later |
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.
nvim-treesitter-textsubjects
-
Tree-Sitter
Neovim supports treesitter based selections and "jumps", which I think are awesome
https://www.reddit.com/r/neovim/comments/r10llx/the_most_ama...
Or
https://github.com/RRethy/nvim-treesitter-textsubjects
Helix also supports them by default
- Is there a feature in Neovim similar to Emmet's balance inward and outward in VSCode?
-
Searching for plugin to provide granular treesitter visual mode navigation
nvim-treesitter-textsubjects
- Is there a plugin to select the parent block of code I am in?
-
equivalent to ci{ but for white-space languages?
You could look into treesitter-textobjects and treesitter-textsubjects: they define "smarter" blocks and function boundaries that work relatively well with python and non-parentheses code.
- Is there any neovim plugin that have 'Surround code fragments' functionality like the Jetbrains IDEs?
-
Motion to select a self-closing html/xml/jsx/tsx tag
I haven't got treesitter's own incremental selection working, but this plugin has given me basically the functionality I was after https://github.com/RRethy/nvim-treesitter-textsubjects
-
What do you use treesitter for other than highlighting?
I personally use it for an outline window for my code (aerial.nvim) and quick-selecting code blocks (nvim-treesitter-textsubjects). I've also seen but not used syntax-tree-surfer for code navigation/manipulation and refactoring.nvim for performing refactoring operations. You could also check out awesome-neovim and ctrl-f for "treesitter", though there are many other plugins out there either not on that list or that don't explicitly mention treesitter in their description.
- What are some additional text objects and motions treesitter provides?
-
FAVOURITE PLUGINS
nvim-treesitter-textsubjects while I basically love everything about Treesitter support, this plugin is just super handy when you start to think more than a second how to select the piece of code you like (in fact nothing when it is nothing too trivial from your muscle-mind)
hop.nvim
- There is a fork of hop.nvim that is much better.
- 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"
- Hop around treesitter nodes
-
Custom treesitter textobjects
- https://github.com/IndianBoy42/hop.nvim : This is my fork of hop.nvim, i got tired of waiting for PR#123 to be merged which refactored hop.nvim to allow for more flexible ways of specifying jump targets (instead of line by line you return everything visible on the screen). This allowed me to write some extensions that use treesitter to jump to locals, like definitions, references, scopes, and any other queries you want
What are some alternatives?
nvim-ts-hint-textobjects
nvim-treesitter-context - Show code context
nvim-treesitter-textobjects
iswap.nvim - Interactively select and swap function arguments, list elements, and much more. Powered by tree-sitter.
orgmode - Orgmode clone written in Lua for Neovim 0.9+.
vim-treesitter
treesitter-unit - A Neovim plugin to deal with treesitter units
ts-textobjects - Treesitter textobjects for neovim.
nvim-treehopper - Region selection with hints on the AST nodes of a document powered by treesitter
refactoring.nvim - The Refactoring library based off the Refactoring book by Martin Fowler