Trouble.nvim is a Neovim plugin that displays diagnostics, references, telescope results, quickfix and location lists in a configurable, visually organized interface.
The plugin addresses the challenge of navigating and understanding diagnostic information and search results in Neovim by presenting them in a formatted list view rather than relying on quickfix or location list defaults. It integrates with Neovim's LSP client to show diagnostics, references, implementations, definitions, type definitions, document symbols, and incoming or outgoing calls. The tool also works with telescope and fzf-lua search results, allowing users to view these results in a dedicated trouble window with tree-based hierarchical organization.
Developers should choose this tool if they want a more polished presentation of diagnostic and reference information within Neovim. It suits projects where developers rely heavily on LSP features and need quick navigation through errors, warnings, and code references. The plugin is particularly valuable for those who want multiple trouble windows open simultaneously and prefer tree views that reflect the natural structure of code elements like document symbols. Configuration is extensive, supporting custom formatters, filters, and sorters, as well as options to control window behavior such as floating or split layouts, focus behavior, and whether to follow the item under the cursor.
The project represents a complete rewrite of its predecessor, introducing substantial architectural changes. Development shows consistent refinement of core functionality with attention to user-facing polish and configurability. The tool maintains active engagement with its user base through documentation and examples. The codebase demonstrates a commitment to flexibility through its modes system for defining custom views and its expansive API surface.