mirror of
https://github.com/pratiktri/dotfiles.git
synced 2026-02-04 08:41:43 +05:30
- Rust: `nvim-coverage` for generating code-coverage report - Rust: Keymaps & nvim-job for test-coverage report display - Coding-QOL: Remove distracting & noisy diagnostic virtual-line - Coding-QOL: Keymaps to disable diagnostic virtual text - Coding-QOL: Disable diagnostic underlines - Fix: Disable telescope `hightlight` to fix frequent crash - Coding-QOL: Telescope Keymaps to move between loops - Coding-QOL: Disable auto fn doc hover through `blink`; `LSPSaga` does it better - Coding-QOL: Adding back `quick-scope` with proper config - Keymap: Use `ctrl-p` to search files; same as vscode
31 lines
1.5 KiB
Lua
31 lines
1.5 KiB
Lua
if pcall(require, "rustaceanvim") then
|
|
local bufnr = vim.api.nvim_get_current_buf()
|
|
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
|
|
|
|
local function run_tests_with_coverage()
|
|
-- Run tests through neotest
|
|
require("neotest").run.run(vim.fn.expand("%"))
|
|
|
|
-- Generate coverage after tests complete
|
|
vim.fn.jobstart("cargo llvm-cov --lcov --output-path coverage.lcov", {
|
|
on_exit = function(_, code)
|
|
if code == 0 then
|
|
-- Load coverage data
|
|
require("coverage").load(true)
|
|
print("Coverage updated")
|
|
else
|
|
print("Coverage generation failed")
|
|
end
|
|
end,
|
|
})
|
|
end
|
|
|
|
vim.keymap.set("n", "<leader>tc", run_tests_with_coverage, { desc = "Test: Run tests with coverage" })
|