Neovim signature help.
Go to file
Bryan 889d7273fb Fix not being buffer scoped. Previously if any LSP attached to any buffer
had SignatureHelp capability then SigHelp would trigger in even buffers with
an LSP attached that didn't support SignatureHelp, which would cause an error.
2025-01-10 23:58:34 -06:00
lua/sighelp Fix not being buffer scoped. Previously if any LSP attached to any buffer 2025-01-10 23:58:34 -06:00
LICENSE Initial commit 2024-10-03 13:20:30 +03:30
README.md (fixed) bugs, (feat) new dock mode, more optimized, please read the Readme to set opts well. 2024-11-27 18:00:29 +03:30

README.md

signup.nvim

A little (smart maybe) lsp signature helper for neovim.


Neovim Signature Help Plugin

This Neovim plugin provides a signature help feature for LSP (Language Server Protocol) clients. I can't tell much, just watch the showcases.

ScreenShots (WIP)

signup_1 signup_2 signup_3

signup_def

We have dock mode but its under dev for now, please take low expectations: signup_dock

Features

  • Signature Help: Displays function signatures and parameter information in a floating window.
  • Toggle Mode: Toggle signature help in normal mode.
  • Customizable: Highly customizable with options for icons, colors, and more.
  • Integration: Integrates with nvim-treesitter for syntax highlighting.
  • Notifications: Displays notifications for errors, warnings, and info messages.

Installation

Using lazy.nvim

Add the following to your init.lua and use main branch always:

require("lazy").setup({
  {
    "Dan7h3x/signup.nvim",
    branch = "main",
    opts = {
          -- Your configuration options here
    },
    config = function(_,opts)
      require("signup").setup(opts)
    end
  }
})

Using Vim-Plug

Add the following to your init.vim:

Plug "Dan7h3x/signup.nvim"

Then, in your init.lua:

lua << EOF
require('signup').setup({
  -- Your configuration options here
})
EOF

Configuration

The plugin comes with a default configuration, but you can customize it according to your preferences. Here are the available options:

opts = {
    silent = false,
    number = true,
    icons = {
      parameter = "",
      method = "󰡱",
      documentation = "󱪙",
    },
    colors = {
      parameter = "#86e1fc",
      method = "#c099ff",
      documentation = "#4fd6be",
      default_value = "#a80888",
    },
    active_parameter_colors = {
      bg = "#86e1fc",
      fg = "#1a1a1a",
    },
    border = "solid",
    winblend = 10,
    auto_close = true,
    trigger_chars = { "(", "," },
    max_height = 10,
    max_width = 40,
    floating_window_above_cur_line = true,
    preview_parameters = true,
    debounce_time = 30,
    dock_toggle_key = "<Leader>sd",
    toggle_key = "<C-k>",
    dock_mode = {
      enabled = false,
      position = "bottom",
      height = 3,
      padding = 1,
    },
    render_style = {
      separator = true,
      compact = true,
      align_icons = true,
    },
  }

Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue if you encounter any problems or have suggestions for improvements.

License

This plugin is licensed under the MIT License. See the LICENSE file for more details.