mirror of
https://github.com/pratiktri/dotfiles.git
synced 2026-02-04 08:41:43 +05:30
feat(neovim-rust): Rust LSP, debugging, testing and keymaps
- `rustaceanvim` for LSP config - Rust ft specific keymaps in `after/ftplugin` - `nvim-dap` for Rust debugging with codelldb - `rustaceanvim.neotest` for Rust testing - `rcasia/neotest-bash` for Bash testing - Better keymaps for running tests - Inlay hint UI improvements
This commit is contained in:
@@ -1,23 +1,10 @@
|
||||
-- TODO: Map all native Nvim 0.11 LSP commands to corresponding rustaceanvim ones
|
||||
-- grn -> Rename
|
||||
-- grr -> References
|
||||
-- gri -> Implementation
|
||||
-- gO -> document_symbol
|
||||
-- gra -> code_action
|
||||
-- Mine
|
||||
-- F2 -> Rename
|
||||
-- gD -> Go to definition
|
||||
-- <leader>cr -> References
|
||||
-- <leader>co -> document_symbol
|
||||
|
||||
if pcall(require, "rustaceanvim") then
|
||||
local bufnr = vim.api.nvim_get_current_buf()
|
||||
|
||||
vim.keymap.set("n", "<C-.>", function()
|
||||
vim.cmd.RustLsp("codeAction")
|
||||
end, { silent = true, buffer = bufnr })
|
||||
|
||||
vim.keymap.set("n", "K", function()
|
||||
vim.cmd.RustLsp({ "hover", "actions" })
|
||||
end, { silent = true, buffer = bufnr })
|
||||
vim.keymap.set("n", "gC", "<cmd>RustLsp openCargo<cr>", { desc = "Open Cargo.toml", buffer = bufnr })
|
||||
vim.keymap.set("n", "<leader>rm", "<cmd>RustLsp expandMacro<cr>", { desc = "Expand Macro", buffer = bufnr })
|
||||
vim.keymap.set("n", "<leader>rp", "<cmd>RustLsp parentModule<cr>", { desc = "Parent Module", buffer = bufnr })
|
||||
vim.keymap.set("n", "<leader>rJ", "<cmd>RustLsp joinLines<cr>", { desc = "Join Lines", buffer = bufnr })
|
||||
vim.keymap.set("n", "<leader>rh", "<cmd>RustLsp openDocs<cr>", { desc = "Open docs.rs Documentation" })
|
||||
vim.keymap.set("n", "<leader>rM", "<cmd>RustLsp view mir<cr>", { desc = "View Mid-Level IR", buffer = bufnr })
|
||||
vim.keymap.set("n", "<leader>rH", "<cmd>RustLsp view hir<cr>", { desc = "View High-Level IR", buffer = bufnr })
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user