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 ^ ^ __ ^ ]] 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 = "t", heads = { { "n", ":TestNearest" }, { "h", ":TestNearest -strategy=harpoon" }, { "f", ":TestFile" }, { "s", ":TestSuit" }, { "l", ":TestLast" }, { "g", ":TestVisit" }, { "w", startAutoCommand }, { "p", stopAutoCommand }, { "", nil, { exit = true } }, }, }