commit 75bee970980e29b9825e662f6cc63df660837bc0
parent 8b6e861558e60e3e94ecb2f0dac030912627cb99
Author: MichaĆ M. Sapka <michal@sapka.me>
Date: Fri, 2 Sep 2022 21:51:26 +0200
feat(vim): add lspsaga
Diffstat:
4 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/nvim/.config/nvim/lua/user/lsp/init.lua b/nvim/.config/nvim/lua/user/lsp/init.lua
@@ -32,4 +32,5 @@ end
require "user.lsp.configs"
require "user.lsp.handlers".setup()
require "user.lsp.null-ls"
+require "user.lsp.lspsaga"
require "luasnip/loaders/from_vscode".lazy_load()
diff --git a/nvim/.config/nvim/lua/user/lsp/lspsaga.lua b/nvim/.config/nvim/lua/user/lsp/lspsaga.lua
@@ -0,0 +1,17 @@
+local status, saga = pcall(require, "lspsaga")
+if (not status) then return end
+
+saga.init_lsp_saga {
+}
+
+local opts = { noremap = true, silent = true }
+vim.keymap.set("n", "gh", "<cmd>Lspsaga lsp_finder<CR>", opts)
+vim.keymap.set('n', '<C-]>', '<Cmd>Lspsaga diagnostic_jump_next<CR>', opts)
+vim.keymap.set('n', '<C-[>', '<Cmd>Lspsaga diagnostic_jump_prev<CR>', opts)
+vim.keymap.set('n', 'K', '<Cmd>Lspsaga hover_doc<CR>', opts)
+vim.keymap.set('n', 'gd', '<Cmd>Lspsaga lsp_finder<CR>', opts)
+vim.keymap.set('i', '<C-k>', '<Cmd>Lspsaga signature_help<CR>', opts)
+vim.keymap.set('n', 'gp', '<Cmd>Lspsaga preview_definition<CR>', opts)
+vim.keymap.set('n', 'gr', '<Cmd>Lspsaga rename<CR>', opts)
+vim.keymap.set("n", "<leader>ca", "<cmd>Lspsaga code_action<CR>", opts)
+vim.keymap.set("v", "<leader>ca", "<cmd><C-U>saga range_code_action<CR>", opts)
diff --git a/nvim/.config/nvim/lua/user/plugins.lua b/nvim/.config/nvim/lua/user/plugins.lua
@@ -86,6 +86,7 @@ return packer.startup(function(use)
use "williamboman/mason-lspconfig.nvim" -- simple to use language server installer
use "tamago324/nlsp-settings.nvim" -- language server settings defined in json for
use "jose-elias-alvarez/null-ls.nvim" -- for formatters and linters
+ use 'glepnir/lspsaga.nvim' -- LSP UIs
use "rhysd/vim-grammarous"
diff --git a/nvim/.config/nvim/plugin/packer_compiled.lua b/nvim/.config/nvim/plugin/packer_compiled.lua
@@ -120,6 +120,11 @@ _G.packer_plugins = {
path = "/Users/msapka/.local/share/nvim/site/pack/packer/start/gruvbox",
url = "https://github.com/morhetz/gruvbox"
},
+ ["lspsaga.nvim"] = {
+ loaded = true,
+ path = "/Users/msapka/.local/share/nvim/site/pack/packer/start/lspsaga.nvim",
+ url = "https://github.com/glepnir/lspsaga.nvim"
+ },
["lualine.nvim"] = {
loaded = true,
path = "/Users/msapka/.local/share/nvim/site/pack/packer/start/lualine.nvim",