refactoring.nvim
nvim-treesitter-textsubjects
refactoring.nvim | nvim-treesitter-textsubjects | |
---|---|---|
37 | 18 | |
2,475 | 456 | |
- | - | |
8.8 | 4.3 | |
about 2 months ago | about 1 month ago | |
Lua | Scheme | |
MIT License | Apache License 2.0 |
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.
refactoring.nvim
-
My 2024 PDE: NeoVim
Treesitter is a syntax parser that'll build a tree-like structure to enable anything from excellent syntax highlighting through to complex refactoring. There are so many creative ways you can use Treesitter, from jumping around text objects to commenting sections of code, it's a must-have in my books.
-
Refactoring tools
Is there any refactoring plugins for Neovim besides https://github.com/ThePrimeagen/refactoring.nvim?
-
change arguments of a function
refactoring.nvim is, that I know of, the closest we have to IDE-like refactoring features such as this, but does not have this feature. It would make C development much nicer imo. Perhaps a feature request there may gain traction.
-
What does it mean if TSNode:has_changes() returns true? (implementation of command-preview for refactoring.nvim)
I'm trying to make a naive implementation of command-preview for refactoring.nvim. Currently, my naive implementation is working (since the changes made to a buffer for previewing are discarded by neovim, I'm executing the plugin regularly in order to preview the changes and when the user submits the command to make the changes).
-
First PR using NeoVim, but need help moving forward
refactoring.nvim and null-ls.nvim may help
-
In neovim ,how to do refactoring python code?
refactoring.nvim is one option. Unfortunately what powers VSCode is the proprietary PyLance and AFAIK there is no way to "Move symbol to file (method will be moved) [and have imports renamed subsequently]".
- Discussion: what functionality is Vim missing?
-
New Plugin: ruby toolkit
Just a heads up, I added a lot of Ruby support in ThePrimeagen's Refactoring.nvim plugin some time ago. Covers a lot of what you've created and has support for lots of other languages too
-
Treesitter query language
It's a pain to learn. I used the online playground and also read a lot of the queries from popular plugins. I contributed Ruby support to refactoring.nvim which helped me learn a tonne too
-
neovim-related: Are there good refactor plugin for elixir?
You might be able to take the ruby one and make an elixir one. It uses tree-sitter queries which you would need to align up with the elixir, but the syntax is kinda close. See https://github.com/ThePrimeagen/refactoring.nvim/blob/master/lua/refactoring/treesitter/langs/ruby.lua
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)
What are some alternatives?
nvim-lsp-ts-utils - Utilities to improve the TypeScript development experience for Neovim's built-in LSP client.
nvim-ts-hint-textobjects
react-extract.nvim - Neovim plugin for extracting jsx into React component
nvim-treesitter-textobjects
rust.vim - Vim configuration for Rust.
hop.nvim - Neovim motions on speed!
pyright - Static Type Checker for Python
orgmode - Orgmode clone written in Lua for Neovim 0.9+.
nvim-treesitter-refactor - Refactor module for nvim-treesitter
treesitter-unit - A Neovim plugin to deal with treesitter units
nvim-dap-ruby
ts-textobjects - Treesitter textobjects for neovim.