From 5eed5cf3ec13de0ce2a82ff032a1967e759d6a26 Mon Sep 17 00:00:00 2001 From: kjssad Date: Mon, 5 Jul 2021 14:43:37 +0000 Subject: Add borders to lsp popups (#686) * feat(lsp): add single type border to hover popup * feat(lsp): add single type border to signatureHelp * feat(lsp): add border to line diagnostic popup * feat(lsp): use global option to configure borders --- lua/default-config.lua | 4 ++++ lua/lsp/init.lua | 16 ++++++++++++++-- lua/lv-which-key/init.lua | 4 ++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/lua/default-config.lua b/lua/default-config.lua index 3f8bbc34..661f8f23 100644 --- a/lua/default-config.lua +++ b/lua/default-config.lua @@ -31,6 +31,10 @@ O = { rainbow = { enabled = false }, }, + lsp = { + popup_border = "single" + }, + database = { save_location = "~/.config/nvcode_db", auto_execute = 1 }, plugin = { diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua index ad8985d8..0292064a 100644 --- a/lua/lsp/init.lua +++ b/lua/lsp/init.lua @@ -22,8 +22,8 @@ vim.cmd("nnoremap gr lua vim.lsp.buf.references()") vim.cmd("nnoremap gi lua vim.lsp.buf.implementation()") vim.cmd("nnoremap K :lua vim.lsp.buf.hover()") -- vim.cmd('nnoremap lua vim.lsp.buf.signature_help()') -vim.cmd("nnoremap :lua vim.lsp.diagnostic.goto_prev()") -vim.cmd("nnoremap :lua vim.lsp.diagnostic.goto_next()") +vim.cmd("nnoremap :lua vim.lsp.diagnostic.goto_prev({popup_opts = {border = O.lsp.popup_border}})") +vim.cmd("nnoremap :lua vim.lsp.diagnostic.goto_next({popup_opts = {border = O.lsp.popup_border}})") -- scroll down hover doc or scroll in definition preview -- scroll up hover doc vim.cmd('command! -nargs=0 LspVirtualTextToggle lua require("lsp/virtual_text").toggle()') @@ -41,6 +41,18 @@ vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( } ) +vim.lsp.handlers["textDocument/hover"] = vim.lsp.with( + vim.lsp.handlers.hover, { + border = O.lsp.popup_border + } +) + +vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with( + vim.lsp.handlers.signature_help, { + border = O.lsp.popup_border + } +) + -- symbols for autocomplete vim.lsp.protocol.CompletionItemKind = { "  (Text) ", diff --git a/lua/lv-which-key/init.lua b/lua/lv-which-key/init.lua index 31ecf94c..b35b546e 100644 --- a/lua/lv-which-key/init.lua +++ b/lua/lv-which-key/init.lua @@ -200,8 +200,8 @@ local mappings = { }, f = { "lua vim.lsp.buf.formatting()", "Format" }, i = { "LspInfo", "Info" }, - j = { "lua vim.lsp.diagnostic.goto_next()", "Next Diagnostic" }, - k = { "lua vim.lsp.diagnostic.goto_prev()", "Prev Diagnostic" }, + j = { "lua vim.lsp.diagnostic.goto_next({popup_opts = {border = O.lsp.popup_border}})", "Next Diagnostic" }, + k = { "lua vim.lsp.diagnostic.goto_prev({popup_opts = {border = O.lsp.popup_border}})", "Prev Diagnostic" }, q = { "Telescope quickfix", "Quickfix" }, r = { "lua vim.lsp.buf.rename()", "Rename" }, s = { -- cgit v1.2.3