68 lines
1.3 KiB
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
|
|
}
|