From 91604ca16cdfded99d858ceb5ac88603937b562d Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Fri, 7 May 2021 13:03:23 +0530 Subject: [PATCH] nvim: lsp/plugins: Add support for automatically showing fn signature --- nvim/.config/nvim/lua/lsp.lua | 10 +++++++++- nvim/.config/nvim/lua/plugins.lua | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/nvim/.config/nvim/lua/lsp.lua b/nvim/.config/nvim/lua/lsp.lua index 701d450..7cc1796 100644 --- a/nvim/.config/nvim/lua/lsp.lua +++ b/nvim/.config/nvim/lua/lsp.lua @@ -1,5 +1,6 @@ local nvim_lsp = require('lspconfig') local protocol = require('vim.lsp.protocol') +local signature = require('lsp_signature') -- Taken from https://www.reddit.com/r/neovim/comments/gyb077/nvimlsp_peek_defination_javascript_ttserver/ function preview_location(location, context, before_context) @@ -44,6 +45,14 @@ function peek_definition() end local on_attach = function(client, bufnr) + signature.on_attach({ + bind = true, + hint_enable = true, + hint_prefix = "🐼 ", + hint_scheme = "String", + handler_opts = { border = "single" }, + decorator = {"`", "`"} + }) vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') if client.config.flags then @@ -58,7 +67,6 @@ local on_attach = function(client, bufnr) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gr', 'lua vim.lsp.buf.references()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'ga', 'lua vim.lsp.buf.code_action()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gi', 'lua vim.lsp.buf.implementation()', opts) - vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gs', 'lua vim.lsp.buf.signature_help()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', '', 'lua vim.lsp.buf.type_definition()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', '1gd', 'lua vim.lsp.buf.document_symbol()', opts) vim.api.nvim_buf_set_keymap(bufnr, 'n', '1gD', 'lua vim.lsp.buf.workspace_symbol()', opts) diff --git a/nvim/.config/nvim/lua/plugins.lua b/nvim/.config/nvim/lua/plugins.lua index bd85e8c..bd50aa4 100644 --- a/nvim/.config/nvim/lua/plugins.lua +++ b/nvim/.config/nvim/lua/plugins.lua @@ -113,6 +113,7 @@ local init = function () -- LSP use { 'neovim/nvim-lspconfig', + 'ray-x/lsp_signature.nvim' } -- Language support & syntax highlighting -- Haskell