A Neovim plugin that uses AI and web search to explain and fix LSP diagnostic messages directly in the editor.
wtf.nvim is a Neovim plugin that enhances the developer experience when working with Language Server Protocol (LSP) diagnostic messages. It uses AI to generate explanations and automated fixes for errors, warnings, and hints, and integrates web search to help developers understand and resolve issues faster without leaving their editor.
Neovim users who work with LSP-enabled languages and want to reduce context switching when debugging diagnostic messages. It is particularly useful for developers who frequently encounter complex or unclear compiler and linter errors.
Developers choose wtf.nvim because it centralizes diagnostic resolution within Neovim, leveraging multiple AI providers and web search to provide tailored explanations and fixes. Its unique selling point is the combination of AI-powered debugging, automated fixing, and seamless integration with popular Neovim pickers and workflows.
Delicious diagnostic debugging in Neovim 🤤
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Sends LSP diagnostics and offending code to multiple AI providers for tailored explanations, as shown in the debugging feature that generates solutions specific to the code context.
Allows AI to directly fix diagnostic issues in the buffer, streamlining debugging with commands like :WtfFix, which can apply fixes based on additional instructions.
Enables quick searches on Google, Stack Overflow, and GitHub from within Neovim, reducing context switching by filtering out local file paths for broader results.
Supports various AI services including Anthropic, OpenAI, Gemini, and Ollama, allowing users to switch providers on the fly with :WtfPickProvider for cost or preference.
Requires API keys for AI providers, leading to potential costs, internet dependency, and privacy concerns, as noted in the setup requiring environment variables for each service.
Only works within Neovim, excluding users of other editors like VSCode or Emacs, and relies fully on Neovim's LSP client for diagnostics.
Involves configuring multiple dependencies, optional pickers, and environment variables, which can be daunting for Neovim newcomers or those with minimal customization.