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)
|
vim.keymap.set(mode, lhs, rhs, default_opts)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function M.nmap(...)
|
||||||
|
M.map("n", ...)
|
||||||
|
end
|
||||||
|
|
||||||
function M.lsp_config_defaults()
|
function M.lsp_config_defaults()
|
||||||
return {
|
return {
|
||||||
root_dir = require("lspconfig.util").root_pattern(
|
root_dir = require("lspconfig.util").root_pattern(
|
||||||
|
|||||||
@@ -423,6 +423,10 @@ function M.lsp_zero()
|
|||||||
filetypes = { "html", "htmldjango", "templ" },
|
filetypes = { "html", "htmldjango", "templ" },
|
||||||
})
|
})
|
||||||
|
|
||||||
|
require("mason-lspconfig").setup_handlers({
|
||||||
|
["rust_analyzer"] = function() end,
|
||||||
|
})
|
||||||
|
|
||||||
lsp.on_attach(function(client, _)
|
lsp.on_attach(function(client, _)
|
||||||
if client.name == "svelte" then
|
if client.name == "svelte" then
|
||||||
vim.api.nvim_create_autocmd("BufWritePost", {
|
vim.api.nvim_create_autocmd("BufWritePost", {
|
||||||
@@ -449,4 +453,46 @@ function M.luasnip()
|
|||||||
require("luasnip.loaders.from_snipmate").load()
|
require("luasnip.loaders.from_snipmate").load()
|
||||||
end
|
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
|
return M
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ setup.install_plugins()
|
|||||||
config.auto_session()
|
config.auto_session()
|
||||||
config.fzf()
|
config.fzf()
|
||||||
config.fzf_checkout()
|
config.fzf_checkout()
|
||||||
config.harpoon()
|
--config.harpoon()
|
||||||
config.hop()
|
config.hop()
|
||||||
config.indent_blankline()
|
config.indent_blankline()
|
||||||
config.lualine()
|
config.lualine()
|
||||||
@@ -21,3 +21,4 @@ config.luasnip()
|
|||||||
config.lsp_zero()
|
config.lsp_zero()
|
||||||
config.null_ls()
|
config.null_ls()
|
||||||
config.undotree()
|
config.undotree()
|
||||||
|
config.rustaceanvim()
|
||||||
|
|||||||
@@ -103,6 +103,13 @@ function M.install_plugins()
|
|||||||
|
|
||||||
-- C#
|
-- C#
|
||||||
use("jlcrochet/vim-razor")
|
use("jlcrochet/vim-razor")
|
||||||
|
|
||||||
|
-- RUST
|
||||||
|
use({
|
||||||
|
"mrcjkb/rustaceanvim",
|
||||||
|
version = "^5", -- Recommended
|
||||||
|
lazy = false, -- This plugin is already lazy
|
||||||
|
})
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user