rust analyzer works again
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
--local helpers = require("helpers")
|
||||
--local nmap = helpers.nmap
|
||||
--
|
||||
--nmap("]d", ":RustLsp renderDiagnostic<CR>")
|
||||
----nmap("<Space>q", ":RustLsp explainError<CR>")
|
||||
--nmap("<Space>q", ":RustLsp renderDiagnostic<CR>")
|
||||
--nmap("<Space>f", ":RustFmt<CR>")
|
||||
@@ -9,6 +9,10 @@ function M.map(mode, lhs, rhs, opts)
|
||||
vim.keymap.set(mode, lhs, rhs, default_opts)
|
||||
end
|
||||
|
||||
function M.nmap(...)
|
||||
M.map("n", ...)
|
||||
end
|
||||
|
||||
function M.lsp_config_defaults()
|
||||
return {
|
||||
root_dir = require("lspconfig.util").root_pattern(
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -7,7 +7,7 @@ setup.install_plugins()
|
||||
config.auto_session()
|
||||
config.fzf()
|
||||
config.fzf_checkout()
|
||||
config.harpoon()
|
||||
--config.harpoon()
|
||||
config.hop()
|
||||
config.indent_blankline()
|
||||
config.lualine()
|
||||
@@ -21,3 +21,4 @@ config.luasnip()
|
||||
config.lsp_zero()
|
||||
config.null_ls()
|
||||
config.undotree()
|
||||
config.rustaceanvim()
|
||||
|
||||
@@ -103,6 +103,13 @@ function M.install_plugins()
|
||||
|
||||
-- C#
|
||||
use("jlcrochet/vim-razor")
|
||||
|
||||
-- RUST
|
||||
use({
|
||||
"mrcjkb/rustaceanvim",
|
||||
version = "^5", -- Recommended
|
||||
lazy = false, -- This plugin is already lazy
|
||||
})
|
||||
end)
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user