Shows a lightbulb icon in Neovim when code actions are available via the built-in LSP.
nvim-lightbulb is a Neovim plugin that displays a visual indicator (a lightbulb icon) whenever code actions are available at the cursor position through the Language Server Protocol (LSP). It enhances discoverability by showing available refactoring, quick fixes, or other code actions even when no diagnostics are visible, making development workflows more efficient and visually guided.
Neovim users who work with LSP-enabled languages and want visual feedback for available code actions, similar to the experience in VSCode. It's particularly useful for developers who frequently use LSP-based refactoring, quick fixes, or code lenses.
Developers choose nvim-lightbulb because it replicates VSCode's intuitive code action discovery within Neovim, offering multiple display options (sign column, virtual text, floating window) and seamless integration with Neovim's built-in LSP. Its configurability and focus on visual guidance set it apart from basic LSP implementations.
VSCode 💡 for neovim's built-in LSP.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers six visualization methods including sign column, virtual text, and floating window, allowing users to tailor the lightbulb to their preferred UI style, as detailed in the Configuration section.
Directly hooks into Neovim's built-in LSP for code actions, working with any LSP server without extra setup, enhancing discoverability as described in the Introduction.
Supports distinguishing between code actions and code lenses by changing icons (e.g., from 💡 to 🔎), which is configurable per handler when code_lenses is enabled.
Configurable autocmd triggers updates on events like CursorHold, providing instant feedback without manual calls, though it requires explicit enablement in setup.
The setup involves numerous options across multiple handlers (e.g., sign, virtual_text, float), which can be overwhelming for users seeking a simple, out-of-the-box solution.
Effectiveness is entirely reliant on LSP servers providing code actions; if a server has bugs or lacks support, the plugin may show no indicators, limiting utility.
Continuous polling for code actions on cursor events (like CursorHold) could slow down Neovim in large files or with resource-intensive LSP servers, though this isn't explicitly addressed in the README.
Autocmd is disabled by default, requiring manual configuration for automatic updates, which adds an extra step for users expecting immediate VSCode-like behavior.