mirror of
https://github.com/mqttr/dotfiles.git
synced 2025-12-15 04:25:50 -06:00
66 lines
2.9 KiB
Lua
66 lines
2.9 KiB
Lua
-- Disable Virtual Text Warnings and Errors
|
|
vim.diagnostic.config({
|
|
-- virtual_text = false,
|
|
signs = true,
|
|
float = { border = "single" },
|
|
})
|
|
|
|
local lsp = vim.lsp
|
|
local handlers = lsp.handlers
|
|
|
|
-- Hover doc popup
|
|
local pop_opts = { border = "rounded", max_width = 80 }
|
|
handlers["textDocument/hover"] = lsp.with(handlers.hover, pop_opts)
|
|
handlers["textDocument/signatureHelp"] = lsp.with(handlers.signature_help, pop_opts)
|
|
|
|
-- 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' })
|
|
|
|
|
|
for _, method in ipairs({ 'textDocument/diagnostic', 'workspace/diagnostic' }) do
|
|
local default_diagnostic_handler = vim.lsp.handlers[method]
|
|
vim.lsp.handlers[method] = function(err, result, context, config)
|
|
if err ~= nil and err.code == -32802 then
|
|
return
|
|
end
|
|
return default_diagnostic_handler(err, result, context, config)
|
|
end
|
|
end
|
|
|
|
require('lspconfig').jsonls.setup {
|
|
settings = {
|
|
json = {
|
|
schemas = require('schemastore').json.schemas(),
|
|
validate = { enable = true },
|
|
},
|
|
},
|
|
}
|
|
require('lspconfig').yamlls.setup {
|
|
settings = {
|
|
yaml = {
|
|
schemaStore = {
|
|
-- You must disable built-in schemaStore support if you want to use
|
|
-- this plugin and its advanced options like `ignore`.
|
|
enable = false,
|
|
-- Avoid TypeError: Cannot read properties of undefined (reading 'length')
|
|
url = "",
|
|
},
|
|
schemas = require('schemastore').yaml.schemas(),
|
|
},
|
|
},
|
|
}
|