feat(rust): 添加rust插件

This commit is contained in:
2025-12-15 16:08:49 +08:00
parent 1ea780a69f
commit fc3668ba82
5 changed files with 49 additions and 2 deletions

View File

@@ -33,6 +33,7 @@
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" }, "nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" }, "project.nvim": { "branch": "main", "commit": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb" },
"rustaceanvim": { "branch": "master", "commit": "bc8c4b8f7606d5b7c067cd8369e25c1a7ff77bd0" },
"telescope.nvim": { "branch": "master", "commit": "e69b434b968a33815e2f02a5c7bd7b8dd4c7d4b2" }, "telescope.nvim": { "branch": "master", "commit": "e69b434b968a33815e2f02a5c7bd7b8dd4c7d4b2" },
"tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" } "tokyonight.nvim": { "branch": "main", "commit": "5da1b76e64daf4c5d410f06bcb6b9cb640da7dfd" }
} }

View File

@@ -25,6 +25,7 @@ require("lazy").setup({
require("plugins.comment"), require("plugins.comment"),
require("plugins.project"), require("plugins.project"),
require("plugins.runner"), require("plugins.runner"),
require("plugins.rustaceanvim"),
-- LSP -- LSP
require("plugins.lsp.mason"), require("plugins.lsp.mason"),
require("plugins.lsp.lspconfig"), require("plugins.lsp.lspconfig"),

View File

@@ -94,7 +94,6 @@ return {
rustfmt = { rustfmt = {
command = "rustfmt", command = "rustfmt",
args = { "--emit=stdout" },
stdin = true, stdin = true,
}, },
}, },

View File

@@ -0,0 +1,47 @@
return {
"mrcjkb/rustaceanvim",
version = "^3", -- 推荐使用稳定版本
ft = { "rust" },
dependencies = {
"mfussenegger/nvim-dap", -- 依赖已有的 DAP 框架
"rcarriga/nvim-dap-ui",
},
config = function()
vim.g.rustaceanvim = {
server = {
on_attach = function(client, bufnr)
-- 保持与现有 LSP 快捷键一致
local opts = { buffer = bufnr, desc = "Rust LSP 操作" }
vim.keymap.set("n", "gd", "<cmd>lua vim.lsp.buf.definition()<cr>", opts)
vim.keymap.set("n", "K", "<cmd>lua vim.lsp.buf.hover()<cr>", opts)
vim.keymap.set("n", "<leader>rn", "<cmd>lua vim.lsp.buf.rename()<cr>", opts)
end,
},
dap = {
adapter = {
type = "executable",
command = "lldb-vscode", -- 需要安装 lldb-vscode
name = "lldb",
},
},
}
-- 调试快捷键(与现有 DAP 快捷键保持一致)
local opts = { noremap = true, silent = true, buffer = 0 }
vim.keymap.set("n", "<F6>", function()
require("dap").continue()
end, opts)
vim.keymap.set("n", "<F10>", function()
require("dap").step_over()
end, opts)
vim.keymap.set("n", "<F11>", function()
require("dap").step_into()
end, opts)
vim.keymap.set("n", "<F12>", function()
require("dap").step_out()
end, opts)
vim.keymap.set("n", "<leader>b", function()
require("dap").toggle_breakpoint()
end, opts)
end,
}

View File

@@ -5,7 +5,6 @@ return {
require("nvim-treesitter.configs").setup({ require("nvim-treesitter.configs").setup({
ensure_installed = { ensure_installed = {
"c", "c",
"c++",
"vim", "vim",
"lua", "lua",
"javascript", "javascript",