mirror of
https://github.com/mqttr/dotfiles.git
synced 2025-12-16 04:35:51 -06:00
Updated LSP, Added Lspsaga, changed keybinds
This commit is contained in:
60
nvim/lua/config/lsp.lua
Normal file
60
nvim/lua/config/lsp.lua
Normal file
@@ -0,0 +1,60 @@
|
||||
require("mason").setup()
|
||||
require("mason-lspconfig").setup()
|
||||
local base = require("plugins.lsp")
|
||||
local capabilities = base.capabilities
|
||||
local on_attach = base.on_attach
|
||||
|
||||
-- Set up configs for installed servers
|
||||
local servers = {
|
||||
'basedpyright',
|
||||
-- 'harper_ls',
|
||||
'rust_analyzer',
|
||||
'clangd',
|
||||
'bashls',
|
||||
'yamlls',
|
||||
'lua_ls',
|
||||
}
|
||||
for _, lsp in pairs(servers) do
|
||||
require('lspconfig')[lsp].setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities
|
||||
}
|
||||
end
|
||||
|
||||
-- vim.diagnostic.config({
|
||||
-- virtual_text = false,
|
||||
-- signs = true,
|
||||
-- float = { border = "single" },
|
||||
-- })
|
||||
|
||||
--- In lsp attach function
|
||||
-- local map = vim.api.nvim_buf_set_keymap
|
||||
-- map(0, "n", "gr", "<cmd>Lspsaga rename<cr>", {silent = true, noremap = true})
|
||||
-- map(0, "n", "gx", "<cmd>Lspsaga code_action<cr>", {silent = true, noremap = true})
|
||||
-- map(0, "x", "gx", ":<c-u>Lspsaga range_code_action<cr>", {silent = true, noremap = true})
|
||||
-- map(0, "n", "K", "<cmd>Lspsaga hover_doc<cr>", {silent = true, noremap = true})
|
||||
-- map(0, "n", "go", "<cmd>Lspsaga show_line_diagnostics<cr>", {silent = true, noremap = true})
|
||||
-- map(0, "n", "gj", "<cmd>Lspsaga diagnostic_jump_next<cr>", {silent = true, noremap = true})
|
||||
-- map(0, "n", "gk", "<cmd>Lspsaga diagnostic_jump_prev<cr>", {silent = true, noremap = true})
|
||||
-- map(0, "n", "<C-u>", "<cmd>lua require('lspsaga.action').smart_scroll_with_saga(-1, '<c-u>')<cr>", {})
|
||||
-- map(0, "n", "<C-d>", "<cmd>lua require('lspsaga.action').smart_scroll_with_saga(1, '<c-d>')<cr>", {})
|
||||
|
||||
-- Quick Keybinds via g
|
||||
vim.keymap.set('n', 'gr', "<cmd>Lspsaga rename<cr>", {silent = true, noremap = true, desc = 'Lsp Saga Rename'})
|
||||
vim.keymap.set('n', 'gx', "<cmd>Lspsaga code_action<cr>", {silent = true, noremap = true, desc = 'Lsp Saga Code Action'})
|
||||
vim.keymap.set('n', 'gs', "<cmd>Lspsaga finder<cr>", { silent = true, noremap = true, desc = 'Lsp Saga Usage Finder' })
|
||||
vim.keymap.set('n', 'gg', "<cmd>Lspsaga hover_doc<cr>", { silent = true, noremap = true, desc = 'Lsp Saga Hover Doc' })
|
||||
vim.keymap.set('n', 'go', "<cmd>Lspsaga outline<cr>", { silent = true, noremap = true, desc = 'Lsp Saga Outline' })
|
||||
|
||||
-- Diagnostic Specific Keybinds with Leader
|
||||
vim.keymap.set('n', '<leader>dr', "<cmd>Lspsaga rename<cr>", {silent = true, noremap = true, desc = 'Lsp Saga Rename'})
|
||||
vim.keymap.set('n', '<leader>dx', "<cmd>Lspsaga code_action<cr>", {silent = true, noremap = true, desc = 'Lsp Saga Code Action'})
|
||||
vim.keymap.set('n', '<leader>ds', "<cmd>Lspsaga finder<cr>", { silent = true, noremap = true, desc = 'Lsp Saga Usage Finder' })
|
||||
vim.keymap.set('n', '<leader>dg', "<cmd>Lspsaga hover_doc<cr>", { silent = true, noremap = true, desc = 'Lsp Saga Hover Doc' })
|
||||
vim.keymap.set('n', '<leader>do', "<cmd>Lspsaga outline<cr>", { silent = true, noremap = true, desc = 'Lsp Saga Outline' })
|
||||
|
||||
vim.keymap.set('n', '<leader>da', "<cmd>Lspsaga show_workspace_diagnostics<cr>", { silent = true, noremap = true, desc = 'Lsp Saga Show Workspace Diagnostic' })
|
||||
vim.keymap.set('n', '<leader>dd', "<cmd>Lspsaga show_line_diagnostics<cr>", { silent = true, noremap = true, desc = 'Lsp Saga Show Line Diagnostic' })
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user