explaingit

folke/trouble.nvim

6,783Lua
This is a quick first-pass explanation. The richer sections — use-cases, tech stack, setup, prompts — are still being generated.

TLDR

Trouble.nvim is a plugin for the Neovim text editor that replaces the default way Neovim shows code errors, warnings, and search results.

Mindmap

A visual breakdown will appear here once this repo is fully enriched.

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

In plain English

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.

Open on GitHub → Explain another repo

← folke on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.