neovim/lua/plugins/lsp/mason.lua

68 lines
1.3 KiB
Lua

-- New LSP configuration (since neovim 0.11+)
return {
'mason-org/mason-lspconfig.nvim',
dependencies = {
'mason-org/mason.nvim',
'neovim/nvim-lspconfig',
'WhoIsSethDaniel/mason-tool-installer.nvim',
},
config = function()
require("mason").setup({
ui = {
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = "",
}
}
})
require("mason-tool-installer").setup({
ensure_installed = {
"prettier",
"ruff",
"stylua",
"tree-sitter-cli",
}
})
require("mason-lspconfig").setup({
ensure_installed = {
"cssls",
"html",
"jsonls",
"lua_ls",
"marksman",
"ty",
"ruff",
"yamlls",
},
})
vim.lsp.config.marksman = {
filetypes = { "markdown", "quarto" },
root_dir = vim.fs.root(0, {
".git",
".marksman.toml",
"._quarto.yml"
})
}
vim.lsp.config.jsonls = {
settings = {
json = {
schemas = require('schemastore').json.schemas(),
validate = { enable = true },
}
}
}
vim.lsp.config('*', {
capabilities = require('cmp_nvim_lsp').default_capabilities(),
})
end
}