74 lines
1.7 KiB
Lua
74 lines
1.7 KiB
Lua
require("mason").setup()
|
|
require("mason-lspconfig").setup {
|
|
ensure_installed = {
|
|
"pyright",
|
|
"gopls",
|
|
"lua_ls",
|
|
"clangd",
|
|
"ts_ls",
|
|
"marksman",
|
|
"yamlls",
|
|
"cmake",
|
|
"dockerls",
|
|
"jsonls",
|
|
"lemminx",
|
|
"taplo",
|
|
"html",
|
|
"cssls",
|
|
"bashls",
|
|
"awk_ls",
|
|
"texlab",
|
|
},
|
|
}
|
|
|
|
-- Load all the LSP servers
|
|
local lspconfig = require "lspconfig"
|
|
lspconfig.pyright.setup {}
|
|
-- lspconfig.csharp_ls.setup {}
|
|
lspconfig.lua_ls.setup {
|
|
settings = {
|
|
Lua = {
|
|
completion = {
|
|
callSnippet = "Replace"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
lspconfig.clangd.setup {}
|
|
lspconfig.marksman.setup {}
|
|
lspconfig.yamlls.setup {}
|
|
lspconfig.ts_ls.setup {}
|
|
-- lspconfig.cmake.setup {}
|
|
lspconfig.dockerls.setup {}
|
|
-- lspconfig.jdtls.setup {}
|
|
lspconfig.jsonls.setup {}
|
|
lspconfig.lemminx.setup {}
|
|
lspconfig.taplo.setup {}
|
|
lspconfig.html.setup {}
|
|
lspconfig.cssls.setup {}
|
|
lspconfig.bashls.setup {}
|
|
lspconfig.texlab.setup {}
|
|
lspconfig.awk_ls.setup {}
|
|
|
|
-- Enable inlay hints
|
|
vim.lsp.inlay_hint.enable(true)
|
|
|
|
-- Swift LSP
|
|
local swift_lsp = vim.api.nvim_create_augroup("swift_lsp", { clear = true })
|
|
vim.api.nvim_create_autocmd("FileType", {
|
|
pattern = { "swift" },
|
|
callback = function()
|
|
local root_dir = vim.fs.dirname(vim.fs.find({
|
|
"Package.swift",
|
|
".git",
|
|
}, { upward = true })[1])
|
|
local client = vim.lsp.start({
|
|
name = "sourcekit-lsp",
|
|
cmd = { "sourcekit-lsp" },
|
|
root_dir = root_dir,
|
|
})
|
|
vim.lsp.buf_attach_client(0, client)
|
|
end,
|
|
group = swift_lsp,
|
|
})
|