Public Access
59 lines
1.2 KiB
Lua
59 lines
1.2 KiB
Lua
return {
|
|
{
|
|
"williamboman/mason.nvim",
|
|
config = function()
|
|
require("mason").setup()
|
|
end,
|
|
},
|
|
{
|
|
"williamboman/mason-lspconfig.nvim",
|
|
opts = {
|
|
ensure_installed = {
|
|
"lua_ls",
|
|
"ts_ls",
|
|
"svelte",
|
|
"tailwindcss",
|
|
"cssls",
|
|
"tinymist",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"neovim/nvim-lspconfig",
|
|
dependencies = {
|
|
"williamboman/mason-lspconfig.nvim",
|
|
},
|
|
config = function()
|
|
local capabilities = require("blink.cmp").get_lsp_capabilities(vim.lsp.protocol.make_client_capabilities())
|
|
local lspconfig = require("lspconfig")
|
|
|
|
local mason_lspconfig = require("mason-lspconfig")
|
|
local mason_servers = mason_lspconfig.get_installed_servers()
|
|
|
|
local manual_servers = {
|
|
"sourcekit",
|
|
}
|
|
|
|
for _, server in ipairs(vim.tbl_extend("force", mason_servers, manual_servers)) do
|
|
lspconfig[server].setup({
|
|
capabilities = capabilities,
|
|
})
|
|
end
|
|
|
|
local map = vim.keymap.set
|
|
map("n", "gd", vim.lsp.buf.definition, {})
|
|
map("n", "K", vim.lsp.buf.hover, {})
|
|
map({ "n", "v" }, "<leader>ca", vim.lsp.buf.code_action, {})
|
|
|
|
vim.diagnostic.config({
|
|
virtual_text = true,
|
|
signs = true,
|
|
update_in_insert = true,
|
|
underline = true,
|
|
severity_sort = false,
|
|
float = true,
|
|
})
|
|
end,
|
|
},
|
|
}
|