environment/home/.config/nvim/lua/lsp.lua
2025-08-01 12:52:57 +02:00

43 lines
923 B
Lua

local lspconfig = require("lspconfig")
-- Swift LSP
lspconfig.sourcekit.setup {}
-- Go LSP
lspconfig.gopls.setup {
cmd = { "gopls" },
filetypes = { "go", "gomod" },
root_dir = lspconfig.util.root_pattern("go.mod", ".git"),
settings = {
gopls = {
analyses = { unusedparams = true },
staticcheck = true,
},
},
}
-- Completion
local cmp = require("cmp")
cmp.setup({
snippet = {
expand = function(args)
vim.fn["vsnip#anonymous"](args.body)
end,
},
mapping = cmp.mapping.preset.insert({
["<Tab>"] = cmp.mapping.select_next_item(),
["<S-Tab>"] = cmp.mapping.select_prev_item(),
["<CR>"] = cmp.mapping.confirm({ select = true }),
}),
sources = cmp.config.sources({
{ name = "nvim_lsp" },
{ name = "vsnip" },
}, {
{ name = "buffer" },
{ name = "path" },
})
})
-- Syntastic config
vim.g.syntastic_swift_checkers = { 'swiftlint', 'swiftpm' }