A Neovim plugin that displays function signatures and parameter hints as you type, enhancing LSP integration.
lsp_signature.nvim is a Neovim plugin that enhances the built-in Language Server Protocol (LSP) signature help by providing real-time, visual function signature assistance while typing. It displays signatures in a floating window or as virtual text, highlights the current parameter, and supports multiple signatures for function overloads, improving coding efficiency for languages with complex APIs.
Neovim users (version 0.10+) who work with LSP-supported languages and want enhanced, non-intrusive signature help, particularly those using completion plugins that lack built-in signature support.
Developers choose this plugin for its lightweight, asynchronous design and high configurability, offering features like parameter highlighting, virtual text hints, and status line integration that go beyond Neovim's default LSP signature help without interfering with other plugins.
LSP signature hint as you type
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses fully asynchronous LSP buffer requests to avoid blocking the editor, ensuring a smooth typing experience as highlighted in the README's 'Fully asynchronous lsp buf request' feature.
Provides parameter highlighting and virtual text hints, making it easier to track current parameters in complex signatures, demonstrated in the Golang and Lua examples with markdown and search highlighting.
Displays multiple signatures for function overloads and allows navigation with select_signature_key, essential for languages like Java or C++, as shown in the multiple signatures screenshots.
Offers extensive options for floating window borders, positioning, transparency, and keybindings, adaptable to various workflows, with detailed config examples covering over 30 settings.
No default keymaps are provided, and the extensive config options require manual tuning, as seen in the full configuration example, which can overwhelm users wanting a quick setup.
Floating windows can overlap with completion menus like cmp or coq, and virtual text emoji may not render correctly in all terminals, as noted in the Q&A section about troubleshooting.
Requires Neovim 0.10+ for full features, with older versions relying on separate, potentially less maintained branches, limiting compatibility for users on stable releases.