|
|
|
@@ -423,6 +423,10 @@ function M.lsp_zero()
|
|
|
|
|
filetypes = { "html", "htmldjango", "templ" },
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
require("mason-lspconfig").setup_handlers({
|
|
|
|
|
["rust_analyzer"] = function() end,
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
lsp.on_attach(function(client, _)
|
|
|
|
|
if client.name == "svelte" then
|
|
|
|
|
vim.api.nvim_create_autocmd("BufWritePost", {
|
|
|
|
@@ -449,4 +453,46 @@ function M.luasnip()
|
|
|
|
|
require("luasnip.loaders.from_snipmate").load()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function M.rustaceanvim()
|
|
|
|
|
vim.g.rustaceanvim = {
|
|
|
|
|
server = {
|
|
|
|
|
on_attach = function(client, bufnr)
|
|
|
|
|
local function buf_set_keymap(...)
|
|
|
|
|
vim.api.nvim_buf_set_keymap(bufnr, ...)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local opts = { noremap = true, silent = true }
|
|
|
|
|
|
|
|
|
|
buf_set_keymap("n", "<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>", opts)
|
|
|
|
|
buf_set_keymap("n", "<space>D", "<cmd>lua vim.lsp.buf.type_definition()<CR>", opts)
|
|
|
|
|
buf_set_keymap("n", "<space>ca", "<cmd>lua vim.lsp.buf.code_action()<CR>", opts)
|
|
|
|
|
buf_set_keymap("n", "<space>e", "<cmd>lua vim.diagnostic.open_float()<CR>", opts)
|
|
|
|
|
buf_set_keymap("n", "<space>q", "<cmd>lua vim.diagnostic.setloclist()<CR>", opts)
|
|
|
|
|
buf_set_keymap("n", "<space>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
|
|
|
|
|
buf_set_keymap("n", "<space>wa", "<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", opts)
|
|
|
|
|
buf_set_keymap(
|
|
|
|
|
"n",
|
|
|
|
|
"<space>wl",
|
|
|
|
|
"<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>",
|
|
|
|
|
opts
|
|
|
|
|
)
|
|
|
|
|
buf_set_keymap("n", "<space>wr", "<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>", opts)
|
|
|
|
|
buf_set_keymap("n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", opts)
|
|
|
|
|
buf_set_keymap("n", "[d", "<cmd>lua vim.diagnostic.goto_prev({wrap = true})<CR>", opts)
|
|
|
|
|
buf_set_keymap("n", "]d", "<cmd>lua vim.diagnostic.goto_next({wrap = true})<CR>", opts)
|
|
|
|
|
buf_set_keymap("n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>", opts)
|
|
|
|
|
buf_set_keymap("n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", opts)
|
|
|
|
|
buf_set_keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
|
|
|
|
|
buf_set_keymap("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
|
|
|
|
|
|
|
|
|
|
if vim.version().api_level == 9 then
|
|
|
|
|
buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
|
|
|
|
|
else
|
|
|
|
|
buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.format({ async = true })<CR>", opts)
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return M
|
|
|
|
|