feat(nvim): replace rust-tools with rustaceanvim
This commit is contained in:
parent
e11b1728c5
commit
f93e7ce6ce
|
@ -27,7 +27,7 @@
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "db0c864375c198cacc171ff373e76bfce2a85045" },
|
"nvim-web-devicons": { "branch": "master", "commit": "db0c864375c198cacc171ff373e76bfce2a85045" },
|
||||||
"plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
|
"plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
|
||||||
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
|
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
|
||||||
"rust-tools.nvim": { "branch": "master", "commit": "676187908a1ce35ffcd727c654ed68d851299d3e" },
|
"rustaceanvim": { "branch": "master", "commit": "c8856f9ab078976422a04e857da3b6eadce7cd3d" },
|
||||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" },
|
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" },
|
||||||
"telescope.nvim": { "branch": "0.1.x", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
|
"telescope.nvim": { "branch": "0.1.x", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
|
||||||
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }
|
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }
|
||||||
|
|
|
@ -251,14 +251,16 @@ return {
|
||||||
local lsp = require "lspconfig"
|
local lsp = require "lspconfig"
|
||||||
local cmp = require "cmp_nvim_lsp"
|
local cmp = require "cmp_nvim_lsp"
|
||||||
|
|
||||||
|
local noop = function() end
|
||||||
|
|
||||||
config.setup {
|
config.setup {
|
||||||
automatic_installation = true,
|
automatic_installation = true,
|
||||||
-- NOTE
|
-- NOTE
|
||||||
-- Haskell: Use GHCup installation instead of hls
|
-- Haskell: Managed by GHCup
|
||||||
ensure_installed = {
|
ensure_installed = {
|
||||||
"lua_ls", -- Lua
|
"lua_ls", -- Lua
|
||||||
"bashls", -- Bash
|
|
||||||
"rust_analyzer", -- Rust
|
"rust_analyzer", -- Rust
|
||||||
|
"bashls", -- Bash
|
||||||
"html", -- HTML
|
"html", -- HTML
|
||||||
"cssls", -- CSS / SCSS
|
"cssls", -- CSS / SCSS
|
||||||
"tsserver", -- TypeScript
|
"tsserver", -- TypeScript
|
||||||
|
@ -273,12 +275,13 @@ return {
|
||||||
}
|
}
|
||||||
|
|
||||||
config.setup_handlers {
|
config.setup_handlers {
|
||||||
function(server)
|
function(name)
|
||||||
lsp[server].setup {
|
lsp[name].setup {
|
||||||
single_file_support = true,
|
single_file_support = true,
|
||||||
capabilities = cmp.default_capabilities(),
|
capabilities = cmp.default_capabilities(),
|
||||||
}
|
}
|
||||||
end,
|
end,
|
||||||
|
['rust_analyzer'] = noop,
|
||||||
}
|
}
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
@ -323,9 +326,13 @@ return {
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Tools for Rust
|
-- Tools for Rust
|
||||||
require "plugins.rust-tools" {
|
{
|
||||||
"simrat39/rust-tools.nvim",
|
"mrcjkb/rustaceanvim",
|
||||||
ft = "rust",
|
version = "^3",
|
||||||
|
ft = { "rust" },
|
||||||
|
init = function()
|
||||||
|
require 'plugins.rust-tools'
|
||||||
|
end
|
||||||
},
|
},
|
||||||
|
|
||||||
-- Tools for Haskell
|
-- Tools for Haskell
|
||||||
|
|
|
@ -1,44 +1,26 @@
|
||||||
local nmap = require("utility").keymap('n')
|
local util = require 'utility'
|
||||||
local M = {}
|
local n = util.keymap 'n'
|
||||||
|
|
||||||
|
|
||||||
function M.config()
|
vim.g.rustaceanvim = function()
|
||||||
local tools = require "rust-tools"
|
local mason = require 'mason-registry'
|
||||||
local mason = require "mason-registry"
|
local tools = require 'rustaceanvim'
|
||||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
local config = require 'rustaceanvim.config'
|
||||||
|
|
||||||
local lsp_root = mason.get_package("codelldb"):get_install_path() .. "/extension/"
|
local lsp_root = mason.get_package('codelldb'):get_install_path() .. '/extension/'
|
||||||
local lsp_path = lsp_root .. "adapter/codelldb"
|
local lsp_path = lsp_root .. 'adapter/codelldb'
|
||||||
local lib_path = lsp_root .. "lldb/lib/liblldb.so"
|
local lib_path = lsp_root .. 'lldb/lib/liblldb.so'
|
||||||
|
|
||||||
local opts = {
|
---@type RustaceanOpts
|
||||||
|
return {
|
||||||
server = {
|
server = {
|
||||||
standalone = true,
|
|
||||||
capabilities = capabilities,
|
|
||||||
on_attach = function(_, bufnr)
|
on_attach = function(_, bufnr)
|
||||||
nmap "<C-b>" (tools.hover_actions.hover_actions) {buffer=bufnr}
|
n '<C-b>' (tools.hover_actions.hover_actions) {buffer=bufnr}
|
||||||
nmap "<Leader>a" (tools.code_action_group.code_action_group) {buffer=bufnr}
|
n '<Leader>a' (tools.code_action_group.code_action_group) {buffer=bufnr}
|
||||||
end,
|
end,
|
||||||
["rust-analyzer"] = {
|
|
||||||
cargo = { allFeatures = true },
|
|
||||||
checkOnSave = {
|
|
||||||
-- default = "cargo check",
|
|
||||||
command = "clippy",
|
|
||||||
allFeatures = true,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
dap = {
|
dap = {
|
||||||
adapter = require("rust-tools.dap").get_codelldb_adapter(lsp_path, lib_path),
|
adapter = config.get_codelldb_adapter(lsp_path, lib_path),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
tools.setup(opts)
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
---@param config table
|
|
||||||
---@return table
|
|
||||||
return function(config)
|
|
||||||
return vim.tbl_extend("keep", config, M)
|
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue