feat(nvim): add dlv shortcut and mapping
This commit is contained in:
parent
ef2ed2dcae
commit
e6b1ac8554
@ -28,6 +28,20 @@ _G._build_test_cmd = function()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
_G._build_debug_cmd = function()
|
||||||
|
local bufnr = vim.fn.bufnr("%")
|
||||||
|
local filetype = vim.fn.getbufvar(bufnr, "&filetype")
|
||||||
|
if filetype ~= "go" then
|
||||||
|
vim.api.nvim_err_writeln("cannot build test command for filetype:" .. filetype)
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
|
||||||
|
local path = vim.fn.expand("%:p")
|
||||||
|
|
||||||
|
-- TODO: check file exists before running command
|
||||||
|
return "dlv test " .. path:gsub("^(.*)/(.*go)$", "%1") .. " -- -test.v"
|
||||||
|
end
|
||||||
|
|
||||||
_G.run_tests = function()
|
_G.run_tests = function()
|
||||||
local cmd = _G._build_test_cmd()
|
local cmd = _G._build_test_cmd()
|
||||||
if cmd == nil then
|
if cmd == nil then
|
||||||
@ -105,7 +119,18 @@ _G.copy_test_cmd = function()
|
|||||||
print("Copied: " .. cmd)
|
print("Copied: " .. cmd)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
_G.copy_debug_cmd = function()
|
||||||
|
local cmd = _G._build_debug_cmd()
|
||||||
|
if cmd == nil then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.fn.setreg("+", cmd)
|
||||||
|
print("Copied: " .. cmd)
|
||||||
|
end
|
||||||
|
|
||||||
vim.api.nvim_set_keymap("n", "<leader>cr", [[:lua _G.run_tests()<cr>]], { noremap = true, silent = true })
|
vim.api.nvim_set_keymap("n", "<leader>cr", [[:lua _G.run_tests()<cr>]], { noremap = true, silent = true })
|
||||||
vim.api.nvim_set_keymap("n", "<leader>cf", [[:lua _G.focus_tests()<cr>]], { noremap = true, silent = true })
|
vim.api.nvim_set_keymap("n", "<leader>cf", [[:lua _G.focus_tests()<cr>]], { noremap = true, silent = true })
|
||||||
vim.api.nvim_set_keymap("n", "<leader>cq", [[:lua _G.close_tests()<cr>]], { noremap = true, silent = true })
|
vim.api.nvim_set_keymap("n", "<leader>cq", [[:lua _G.close_tests()<cr>]], { noremap = true, silent = true })
|
||||||
vim.api.nvim_set_keymap("n", "<leader>cc", [[:lua _G.copy_test_cmd()<cr>]], { noremap = true, silent = true })
|
vim.api.nvim_set_keymap("n", "<leader>cc", [[:lua _G.copy_test_cmd()<cr>]], { noremap = true, silent = true })
|
||||||
|
vim.api.nvim_set_keymap("n", "<leader>cd", [[:lua _G.copy_debug_cmd()<cr>]], { noremap = true, silent = true })
|
||||||
|
Loading…
x
Reference in New Issue
Block a user