2023-02-20 17:15:44 +00:00
|
|
|
local M = {}
|
|
|
|
|
2022-08-04 15:16:20 +01:00
|
|
|
-- Mappings.
|
|
|
|
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
|
2022-11-07 16:41:35 +00:00
|
|
|
local opts = { noremap = true, silent = true }
|
2023-02-13 12:57:12 +00:00
|
|
|
vim.keymap.set("n", "<leader>e", vim.diagnostic.open_float, opts)
|
|
|
|
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts)
|
|
|
|
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts)
|
|
|
|
vim.keymap.set("n", "<leader>q", vim.diagnostic.setloclist, opts)
|
2022-08-04 15:16:20 +01:00
|
|
|
|
2022-11-15 13:33:09 +00:00
|
|
|
local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " }
|
|
|
|
for type, icon in pairs(signs) do
|
2023-02-17 16:35:40 +00:00
|
|
|
local hl = "DiagnosticSign" .. type
|
|
|
|
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl })
|
2022-11-15 13:33:09 +00:00
|
|
|
end
|
|
|
|
|
2023-02-21 07:43:48 +00:00
|
|
|
require("mason").setup()
|
|
|
|
require("mason-lspconfig").setup(require "config.mason_lspconfig")
|
2023-02-17 16:29:48 +00:00
|
|
|
require("neodev").setup()
|
2023-02-20 17:15:44 +00:00
|
|
|
|
|
|
|
M.on_attach = require "lsp.attach"
|
|
|
|
M.lsp_flags = require "lsp.flags"
|
|
|
|
M.capabilities = require("cmp_nvim_lsp").default_capabilities()
|
2022-08-09 15:16:37 +01:00
|
|
|
|
2023-02-21 07:43:48 +00:00
|
|
|
require("mason-lspconfig").setup_handlers {
|
|
|
|
function(server_name)
|
|
|
|
require("lspconfig")[server_name].setup {
|
|
|
|
on_attach = M.on_attach,
|
|
|
|
flags = M.lsp_flags,
|
|
|
|
capabilities = M.capabilities,
|
|
|
|
}
|
|
|
|
end,
|
2023-02-17 16:35:40 +00:00
|
|
|
}
|
2022-08-08 17:28:50 +01:00
|
|
|
|
2023-02-20 17:15:44 +00:00
|
|
|
return M
|