1
0
nvim-config/after/plugin/lsp.lua
Patrick Auernig d9ea8954ce Update configuration
Move configuration from VimL to Lua
2023-05-04 16:40:35 +02:00

39 lines
834 B
Lua

local lsp = require("lsp-zero")
lsp.preset("recommended")
lsp.ensure_installed {
"rust_analyzer"
}
lsp.nvim_workspace()
local cmp = require("cmp")
local cmp_select = { behavior = cmp.SelectBehavior.Select }
lsp.setup_nvim_cmp({
mapping = lsp.defaults.cmp_mappings({
["<C-p>"] = cmp.mapping.select_prev_item(cmp_select),
["<C-n>"] = cmp.mapping.select_next_item(cmp_select),
["<C-Space>"] = cmp.mapping.complete(),
})
})
lsp.on_attach(function(client, buffnr)
lsp.default_keymaps({ buffer = buffnr })
vim.keymap.set("n", "<Leader>fmt", function()
vim.lsp.buf.format({ async = false, timeout_ms = 5000 })
end)
end)
-- NOTE: Format on save does not support async formatting
lsp.format_on_save({
servers = {
["rust_analyzer"] = {"rust"}
}
})
lsp.setup()