whatisgithub

What is trouble.nvim?

folke/trouble.nvim — explained in plain English

Analysis updated 2026-06-24

6,783LuaAudience · developerComplexity · 2/5Setup · moderate

In one sentence

A Neovim plugin that replaces the built-in error and diagnostic display with a formatted, interactive panel showing code errors, warnings, search results, and symbol references with icons and color-coding.

Mindmap

mindmap
  root((trouble.nvim))
    What it does
      Replaces quickfix list
      Shows diagnostics
      Displays references
      Document symbols
    Features
      Tree view
      Floating windows
      Sidebar splits
      Statusline component
    Use Cases
      View code errors
      Find references
      Search results
    Setup
      lazy.nvim install
      Neovim 0.9.2 plus
      Nerd Font optional
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

View all code errors and warnings in a clean side panel instead of the built-in quickfix list.

USE CASE 2

Browse every place a function or variable is referenced across your project in a navigable tree view.

USE CASE 3

Display search results from Telescope or fzf-lua in an organized, interactive panel.

USE CASE 4

See all functions and classes in the current file using the document symbols panel.

What is it built with?

LuaNeovim

How does it compare?

folke/trouble.nvimlewis6991/gitsigns.nvimawesomewm/awesome
Stars6,7836,8196,882
LanguageLuaLuaLua
Setup difficultymoderatemoderatemoderate
Complexity2/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Neovim 0.9.2+ and a configured language server client (LSP) to display diagnostics.

So what is it?

Trouble.nvim is a plugin for the Neovim text editor that replaces the default way Neovim shows code errors, warnings, and search results. Instead of cluttering the main editing area or using Neovim's built-in quickfix list (a plain, hard-to-read list at the bottom of the screen), Trouble shows all of that information in a formatted, interactive panel with icons, indentation, and color-coded severity levels. The plugin collects several types of information in one place. It can show diagnostic messages from the language server (the background process that checks your code for errors while you type), a list of every place a function or variable is referenced in your project, results from fuzzy-file-search tools like Telescope or fzf-lua, and the standard quickfix and location lists that many Neovim commands use. You can open multiple Trouble windows at the same time, each showing a different type of information, and configure them as floating windows or sidebar splits. The current version is a full rewrite of the original plugin with expanded capabilities. Notable additions include a tree view that follows the natural structure of the items being displayed, a document symbols panel that shows all the functions and classes in the current file, a statusline component, and the ability to define entirely custom views called "modes" with their own filters and sort orders. The panel follows the cursor as you move around your code, and clicking or pressing Enter on any item jumps you directly to that location. Installation is done through a Neovim package manager. The README provides configuration examples for the lazy.nvim manager, along with the full default settings and a list of keyboard shortcuts. The plugin requires Neovim version 0.9.2 or higher and a properly configured language server client. Optional dependencies include a Nerd Font for the icons and nvim-web-devicons for file type icons in the list.

Copy-paste prompts

Prompt 1
Configure trouble.nvim in lazy.nvim to open the diagnostics panel automatically whenever there are LSP errors in the current file.
Prompt 2
Write Neovim keybindings to toggle the Trouble diagnostics panel and jump to the next or previous error.
Prompt 3
Set up a custom trouble.nvim mode that only shows errors and not warnings from the language server.
Prompt 4
Create a trouble.nvim floating window configuration that appears on demand without replacing the sidebar layout.
Prompt 5
How do I use trouble.nvim to show all LSP references for the function under my cursor in a split panel?

Frequently asked questions

What is trouble.nvim?

A Neovim plugin that replaces the built-in error and diagnostic display with a formatted, interactive panel showing code errors, warnings, search results, and symbol references with icons and color-coding.

What language is trouble.nvim written in?

Mainly Lua. The stack also includes Lua, Neovim.

How hard is trouble.nvim to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is trouble.nvim for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.