Files
2023-12-13 00:27:19 +03:00

51 lines
1.1 KiB
Lua

local hydra = require "hydra"
local hint = [[
Vim Tests
_n_: Near test _h_: Harpoon ^
_f_: Current file _s_: Test Suit ^
_l_: Test Last _g_: Visit
_w_: Watch last Test _p_: stop watch
^ ^ _<Esc>_ ^
]]
local auto_cmd_id = nil
local stopAutoCommand = function()
if auto_cmd_id ~= nil then
vim.api.nvim_del_autocmd(auto_cmd_id)
auto_cmd_id = nil
end
end
local startAutoCommand = function()
stopAutoCommand()
auto_cmd_id = vim.api.nvim_create_autocmd({ "BufWritePost" }, {
pattern = { "*.php", "*.feature", "*.yaml" },
command = "TestLast",
})
end
hydra {
name = "vimtest",
hint = hint,
mode = "n",
config = {
color = "teal",
invoke_on_body = true,
hint = {
border = "rounded",
position = "bottom",
},
},
body = "<leader>t",
heads = {
{ "n", ":TestNearest<CR>" },
{ "h", ":TestNearest -strategy=harpoon<CR>" },
{ "f", ":TestFile<CR>" },
{ "s", ":TestSuit<CR>" },
{ "l", ":TestLast<CR>" },
{ "g", ":TestVisit<CR>" },
{ "w", startAutoCommand },
{ "p", stopAutoCommand },
{ "<Esc>", nil, { exit = true } },
},
}