From f4fe416201cc9d1cba5dfa3fec0879601fb85ae7 Mon Sep 17 00:00:00 2001 From: Ariel D'Alessandro Date: Fri, 1 Sep 2023 11:33:10 +0200 Subject: refactor my tests to be more automatic and do not depend on project config --- lua/alpha/test_menu.lua | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 lua/alpha/test_menu.lua (limited to 'lua/alpha') diff --git a/lua/alpha/test_menu.lua b/lua/alpha/test_menu.lua new file mode 100644 index 0000000..5b3e5a5 --- /dev/null +++ b/lua/alpha/test_menu.lua @@ -0,0 +1,48 @@ +local hydra = require "hydra" + +local hint = [[ + Vim Tests + _n_: Near test _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" }, + { "f", ":TestFile" }, + { "s", ":TestSuit" }, + { "l", ":TestLast" }, + { "g", ":TestVisit" }, + { "w", startAutoCommand }, + { "p", stopAutoCommand }, + { "", nil, { exit = true } }, + }, +} -- cgit v1.2.3