nvim-treesitter-refactor VS trouble.nvim

Compare nvim-treesitter-refactor vs trouble.nvim and see what are their differences.

nvim-treesitter-refactor

Refactor module for nvim-treesitter (by nvim-treesitter)

trouble.nvim

🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing. (by folke)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
nvim-treesitter-refactor trouble.nvim
14 59
370 4,361
2.4% -
2.3 7.6
12 months ago 11 days ago
Lua Lua
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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-refactor

Posts with mentions or reviews of nvim-treesitter-refactor. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-26.
  • A plugin i can’t seem to find!
    3 projects | /r/neovim | 26 Apr 2023
    Maybe this? nvim-treesitter-refactor
  • Looking for a cursor highlighting plugin posted recently
    2 projects | /r/neovim | 31 Jan 2023
    These days though I'm using the https://github.com/nvim-treesitter/nvim-treesitter-refactor plugin. It goes one step further and only highlights the matches that are in the same scope. Makes a big difference in a lot of programming languages where you use the same variable named in a lot of smaller functions/methods right next to each other.
  • Anything like Blockman in Neovim?
    10 projects | /r/neovim | 14 Dec 2022
    My desires are not sated, but it seems quite nice. (I recall treesitter-refactor has a similar scope highlighter, but it could be a bit aggressive near root scope -- this might be a more gentle version.
  • How to highlight the symbol under the cursor?
    4 projects | /r/neovim | 29 Sep 2022
    check https://github.com/nvim-treesitter/nvim-treesitter-refactor/
  • Very slow input latency for haskell when treesitter highlighting is enabled
    3 projects | /r/neovim | 8 Aug 2022
    Treesitter performance is a hard problem. First, check the following: 1. Do you use nvim_treesitter#foldexpr()? Try not to use foldmethod=expr in insert mode. Or just switch to nvim-ufo. 2. Do you use nvim-treesitter-refactor's highlight_definitions or highlight_current_scope? These features do slower the performance. Try to disable these features. 3. I've heard some language parser is not good in terms of performance. Since I don't write haskell, I can't help you here. But you can create issue in nvim-treesitter.
  • Looking for treesitter-based (but not LSP-based) plugins with commands like "hover documentation"
    4 projects | /r/neovim | 7 Jul 2022
    For instance, with plugins like nvim-treesitter-refactor and ray-x/navigator.lua, you can use a bunch of commands like "go to definition" and "smart rename" without an LSP server.
  • What do you use treesitter for other than highlighting?
    12 projects | /r/neovim | 10 Jun 2022
    TS Refactor
  • Is there any plugin to highlight occurences of a value under cursor?
    3 projects | /r/neovim | 17 Feb 2022
    If you have treesitter, you can use nvim-treesitter-refactor. It has the highlight_definitions option that will highlight the definitions of a variable.
  • What’s your home office setup?
    3 projects | /r/ExperiencedDevs | 9 Jan 2022
    Oh! I've actually never tried Emacs text navigation. My brief stint with Emacs was with Spacemacs (w/ the evil-mode plugin). If I knew any lisp when I had given Spacemacs a whirl then there's a chance I may have stuck with it. I've played with Clojure a bit. Ah, it appears that you're a data-eng -- heavy on the Python. Are you trying to mimic something that PyCharm provides? I'm just happy that LSP has come where it has in such little time and that's already improved working with code in various languages quite a bit. Neovim moves incredibly fast and having LuaJIT with support for Lua had completely opened the floodgates for ports of old Vim plugins and made way for newer ones with floating windows/floating terminals. There are two projects each with hundreds of stars on GitHub meant to mimic or one-up org-mode (one has an entirely new spec) with immense development activity. The one-up that Neovim has over Vim presently is tree-sitter (because the core team wrote a wrapper) and exposes a Lua interface for plugin devs that want to use it. It's been neat for themes and my new favorite find-and-replace plugin (https://github.com/nvim-treesitter/nvim-treesitter-refactor). Because there's type data coming from the AST, it's much less likely to have accidental replacements (if at all). It looks like Emacs is making some headway here, though: https://github.com/emacs-tree-sitter
  • Does anyone have any examples of how to use vim.lsp.util.buf_highlight_references()?
    2 projects | /r/neovim | 16 Dec 2021
    You can also navigate between the highlights using treesitter-refactor: https://github.com/nvim-treesitter/nvim-treesitter-refactor

trouble.nvim

Posts with mentions or reviews of trouble.nvim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-31.
  • Help with trouble.nvim
    2 projects | /r/neovim | 31 May 2023
    A newbie here, I used jose-elias-alvarez/null-ls.nivm for diagnostics and formatting, but I recently discovered folke/trouble.nvim and for me, it seems like a better option However, I don't know if it supports formatting and linting, I don't even know if it is an alternative to null-ls. So I need your help, can trouble.nvim replace null-ls? If not, can I use both of them simultaneously?
  • Neovim vs VSCode Neovim - what are the tradeoffs?
    11 projects | /r/neovim | 17 May 2023
    All you need is just the LSP working (with linter, formatter and diagnostics) and telescope. Seriously, telescope is the GOAT, way faster than a file tree, you end up using the filetree only to move, create and delete files/folders but if it's just for that, you might as well use the terminal instead. For the LSP, it's not only autocompletion and hints at hover but formatting and diagnostics. I use lsp-zero + null-ls + trouble. I exposed all of the keybindings on those so I can at least open my own configs for guidance. Oh yeah, having treesitter is probably a must too, and it has no keybindings on its base form.
  • Is it possible to close todo-comment/trouble's floating window after pressing enter on an item?
    2 projects | /r/neovim | 7 May 2023
    I am referring this as well as this this plugin.
  • Video: 5 Neovim Plugins To Improve Your Productivity
    5 projects | /r/neovim | 2 May 2023
    Trouble: https://github.com/folke/trouble.nvim
  • People who migrated from vscode
    24 projects | /r/neovim | 7 Apr 2023
    Trouble is so good for finding errors easily. For testing I use jest so I haven't had too many issues. What do you test with?
  • Any recommended plugins to frictionlessly see lsp references in a perhaps a popup window?
    5 projects | /r/neovim | 28 Feb 2023
    I like trouble.nvim
  • Disabling PEP diagnostics errors/warnings in LazyVim
    2 projects | /r/neovim | 27 Feb 2023
    I guess LazyVim uses https://github.com/folke/trouble.nvim for it. I should config it to not including errors regarding standardization.
  • Introducing: continuous-testing.nvim
    4 projects | /r/neovim | 10 Jan 2023
    Great feedback, thanks! I’ll certainly have a look into using the LSP to reduce the amount of tests to run. For me, the notifications are a handy feature since our ruby code runs in a docker container. It takes quite some time to attach to the container and run the test file. (This was actually one of the motivations for writing this plugin) However, you can disable notifications and rely completely on the diagnostics. With another plugin like trouble.nvim, you could see the updates in a separate window. Only downside to this, it will be cluttered with other LSP diagnostics. I chose this approach since I am not a fan of creating just another status window, maybe I’ll have to revisit this opinion.
  • How to have telescope search include hidden files by default?
    3 projects | /r/neovim | 8 Jan 2023
    local telescope = require("telescope") local trouble_provider = require("trouble.providers.telescope") telescope.setup({ live_grep = { --@usage don't include the filename in the search results only_sort_text = true, theme = "dropdown", }, extensions = { fzf = { fuzzy = true, -- false will only do exact matching override_generic_sorter = true, -- override the generic sorter override_file_sorter = true, -- override the file sorter case_mode = "smart_case", -- or "ignore_case" or "respect_case" }, }, defaults = { vimgrep_arguments = { 'rg', '--color=never', '--no-heading', '--with-filename', '--line-number', '--column', '--hidden', '--smart-case', '--glob "!.git"', }, mappings = { i = { -- source: https://github.com/folke/trouble.nvim [""] = trouble_provider.open_with_trouble, }, n = { -- source: https://github.com/folke/trouble.nvim [""] = trouble_provider.open_with_trouble, }, }, set_env = { ["COLORTERM"] = "truecolor" }, -- default = nil, }, }) -- source: https://github.com/nvim-telescope/telescope-fzf-native.nvim require("telescope").load_extension("fzf")
  • what python lsp and linter
    3 projects | /r/neovim | 7 Jan 2023
    With this config I avoid the inline diagnostics, I like pylint, but some errors, warnings and hints aren't useful to me, they are too much noise in my editor, so I use trouble.nvim to watch them when I need to.

What are some alternatives?

When comparing nvim-treesitter-refactor and trouble.nvim you can also consider the following projects:

impatient.nvim - Improve startup time for Neovim

lsp-trouble.nvim - 🚦 A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing. [Moved to: https://github.com/folke/trouble.nvim]

AutoSave.nvim - 🧶 Automatically save your changes in NeoVim [Moved to: https://github.com/Pocco81/auto-save.nvim]

telescope.nvim - Find, Filter, Preview, Pick. All lua, all the time.

lspsaga.nvim - improve neovim lsp experience [Moved to: https://github.com/nvimdev/lspsaga.nvim]

vim-illuminate - illuminate.vim - (Neo)Vim plugin for automatically highlighting other uses of the word under the cursor using either LSP, Tree-sitter, or regex matching.

indent-blankline.nvim - Indent guides for Neovim

nvim-treesitter-textobjects

null-ls.nvim - Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.

lspsaga.nvim - improve neovim lsp experience

nvim-ts-rainbow - Rainbow parentheses for neovim using tree-sitter. Use https://sr.ht/~p00f/nvim-ts-rainbow instead

vim-local-history - A Neovim plugin for maintaining local history of files.