Extensible UI for Neovim notifications and LSP progress messages with configurable windows and animations.
Fidget is a Neovim plugin that provides an extensible user interface for displaying notifications and LSP progress messages. It solves the problem of cluttered status lines by offering a dedicated, configurable window that shows real-time updates from language servers and other notification sources. The plugin includes animated spinners and supports custom rendering through a flexible Lua API.
Neovim users who work with LSP servers and want a dedicated, visually appealing UI for progress notifications and system messages. It's particularly useful for developers who prefer customizable, non-intrusive notification displays over status-line integrations.
Developers choose Fidget for its first-class LSP progress support, extensible design, and balance of functionality with minimal intrusion. Its configurable window, animation support, and plugin integrations offer a more feature-rich alternative to basic status-line solutions while remaining lightweight and hackable.
💫 Extensible UI for Neovim notifications and LSP progress messages.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Directly hooks into Neovim's $/progress handler to display real-time updates from LSP servers like rust-analyzer, as shown in the demo GIF, providing dedicated progress tracking.
Serves as a flexible backend for vim.notify() with extensive options for window borders, alignment, padding, and highlight groups, allowing deep customization of notification displays.
Includes ASCII spinner animations to indicate activity, adding engaging terminal eye candy that enhances the user experience without being intrusive.
Offers built-in support for plugins like Telescope for history search and nvim-tree, though some integrations are deprecated and require manual configuration via notification.window.avoid.
Requires Neovim v0.11.3 or higher, which can be a barrier for users on older versions or stable distributions that haven't updated, as admitted in the README.
Actively developed on the main branch with occasional breaking changes, necessitating version pinning for stability, which adds maintenance overhead for users.
The extensive options table in setup() can overwhelm users seeking a simple setup, requiring significant Lua knowledge and effort to tailor effectively.