Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. lsp_signature.nvim

lsp_signature.nvim

Apache-2.0Luav0.3.1

A Neovim plugin that displays function signatures and parameter hints as you type, enhancing LSP integration.

GitHubGitHub
2.4k stars84 forks0 contributors

What is lsp_signature.nvim?

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.

Target Audience

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.

Value Proposition

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.

Overview

LSP signature hint as you type

Use Cases

Best For

  • Enhancing Neovim's built-in LSP signature help with visual parameter highlighting and documentation.
  • Working with languages that have complex function signatures or overloads, like Go, Lua, or Java.
  • Integrating signature help into status lines or winbars for a persistent, non-intrusive view.
  • Using virtual text for parameter hints to avoid floating window clutter during coding.
  • Customizing signature display with floating window borders, positioning, and transparency to match editor themes.
  • Troubleshooting signature help when using completion plugins that lack native support.

Not Ideal For

  • Neovim users on versions below 0.10 who need stable, out-of-the-box signature help without managing legacy branches.
  • Developers already using completion plugins like nvim-cmp with robust, integrated signature support, making this plugin redundant.
  • Those seeking a plug-and-play experience; lsp_signature.nvim requires manual keymap setup and extensive UI configuration.
  • Environments where terminal emoji support is lacking, causing virtual text hints (e.g., 🐼) to display incorrectly or crash.

Pros & Cons

Pros

Asynchronous Performance

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.

Enhanced Visual Feedback

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.

Support for Overloads

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.

High Configurability

Offers extensive options for floating window borders, positioning, transparency, and keybindings, adaptable to various workflows, with detailed config examples covering over 30 settings.

Cons

Steep Configuration Curve

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.

UI Integration Challenges

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.

Version Dependency

Requires Neovim 0.10+ for full features, with older versions relying on separate, potentially less maintained branches, limiting compatibility for users on stable releases.

Frequently Asked Questions

Quick Stats

Stars2,368
Forks84
Contributors0
Open Issues86
Last commit2 months ago
CreatedSince 2021

Tags

#autocomplete#asynchronous#neovim-plugin#lsp-client#signature-help#editor-enhancement#floating-window#neovim#virtual-text#lsp#code-completion

Built With

N
Neovim
L
Lua

Included in

Neovim20.6k
Auto-fetched 6 hours ago

Related Projects

nvim-lspconfignvim-lspconfig

Quickstart configs for Nvim LSP

Stars13,807
Forks2,471
Last commit1 day ago
lspsaga.nvimlspsaga.nvim

improve neovim lsp experience

Stars3,793
Forks304
Last commit8 days ago
none-ls.nvimnone-ls.nvim

null-ls.nvim reloaded / Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.

Stars3,246
Forks122
Last commit1 month ago
rustaceanvimrustaceanvim

🦀 Supercharge your Rust experience in Neovim! A heavily modified fork of rust-tools.nvim

Stars3,051
Forks131
Last commit10 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub