Improve nvim lua testing experience
parent
0caec65ecf
commit
62a9f42561
|
@ -14,10 +14,45 @@ vim.keymap.set("n", "<Leader>ts", ":TestSuite<CR>", opts)
|
||||||
vim.keymap.set("n", "<Leader>tl", ":TestLast<CR>", opts)
|
vim.keymap.set("n", "<Leader>tl", ":TestLast<CR>", opts)
|
||||||
vim.keymap.set("n", "<Leader>tg", ":TestVisit<CR>", opts)
|
vim.keymap.set("n", "<Leader>tg", ":TestVisit<CR>", opts)
|
||||||
|
|
||||||
|
local last_path = nil
|
||||||
|
|
||||||
vim.api.nvim_create_user_command("PlenaryTestFile", function()
|
vim.api.nvim_create_user_command("PlenaryTestFile", function()
|
||||||
require("plenary.test_harness").test_directory(vim.fn.expand("%:p"))
|
last_path = vim.fn.expand("%:p")
|
||||||
|
|
||||||
|
require("plenary.test_harness").test_directory(last_path)
|
||||||
end, {})
|
end, {})
|
||||||
|
|
||||||
vim.api.nvim_create_user_command("PlenaryTestFileWithLocalMinInit", function()
|
vim.api.nvim_create_user_command("PlenaryTestSuite", function()
|
||||||
require("plenary.test_harness").test_directory(vim.fn.expand("%:p"), { minimal_init = "tests/minimal.vim" })
|
last_path = vim.fn["projectionist#path"]()
|
||||||
|
|
||||||
|
require("plenary.test_harness").test_directory(last_path)
|
||||||
end, {})
|
end, {})
|
||||||
|
|
||||||
|
vim.api.nvim_create_user_command("PlenaryTestLast", function()
|
||||||
|
if not last_path then
|
||||||
|
vim.notify("No plenary tests run yet! Nothing to do here", vim.log.levels.WARN)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
require("plenary.test_harness").test_directory(last_path)
|
||||||
|
end, {})
|
||||||
|
|
||||||
|
vim.api.nvim_create_user_command("PlenaryVisitLastTest", function()
|
||||||
|
if not last_path then
|
||||||
|
vim.notify("No plenary tests run yet! Nothing to do here", vim.log.levels.WARN)
|
||||||
|
return
|
||||||
|
end
|
||||||
|
vim.cmd("edit " .. last_path)
|
||||||
|
end, {})
|
||||||
|
|
||||||
|
local au_id = vim.api.nvim_create_augroup("plenary_test_group", {})
|
||||||
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
|
pattern = "lua",
|
||||||
|
group = au_id,
|
||||||
|
callback = function()
|
||||||
|
vim.keymap.set("n", "<Leader>tn", ":PlenaryTestFile<CR>", opts)
|
||||||
|
vim.keymap.set("n", "<Leader>tf", ":PlenaryTestFile<CR>", opts)
|
||||||
|
vim.keymap.set("n", "<Leader>ts", ":PlenaryTestSuite<CR>", opts)
|
||||||
|
vim.keymap.set("n", "<Leader>tl", ":PlenaryTestLast<CR>", opts)
|
||||||
|
vim.keymap.set("n", "<Leader>tg", ":PlenaryVisitLastTest<CR>", opts)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
Loading…
Reference in New Issue