fix: restore x/X/D as modal debug keys, add quit_exits_mode config, track mapped keys exactly
This commit is contained in:
6 files changed
+64
-26
No files matched your search
+16
-4
@@ -15,8 +15,8 @@ assert_eq(td.active(), false, "starts inactive")
|
||||
td.toggle()
|
||||
assert_eq(td.active(), true, "active after toggle")
|
||||
|
||||
-- keymaps are set
|
||||
for _, key in ipairs({ "c", "s", "d", "r", "q" }) do
|
||||
-- all modal keymaps are set (including breakpoint keys)
|
||||
for _, key in ipairs({ "c", "s", "d", "r", "q", "x", "X", "D" }) do
|
||||
assert_eq(has_buf_map(key), true, key .. " key mapped")
|
||||
end
|
||||
|
||||
@@ -24,9 +24,21 @@ end
|
||||
td.toggle()
|
||||
assert_eq(td.active(), false, "inactive after second toggle")
|
||||
|
||||
-- keymaps are removed
|
||||
for _, key in ipairs({ "c", "s", "d", "r", "q" }) do
|
||||
-- all modal keymaps are removed
|
||||
for _, key in ipairs({ "c", "s", "d", "r", "q", "x", "X", "D" }) do
|
||||
assert_eq(has_buf_map(key), false, key .. " key removed")
|
||||
end
|
||||
|
||||
-- double exit is safe
|
||||
td.toggle() -- enter
|
||||
td.toggle() -- exit
|
||||
td.toggle() -- enter
|
||||
td.toggle() -- exit
|
||||
assert_eq(td.active(), false, "stable after multiple toggles")
|
||||
|
||||
-- verify no leaked keymaps after rapid toggling
|
||||
for _, key in ipairs({ "c", "s", "d", "r", "q", "x", "X", "D" }) do
|
||||
assert_eq(has_buf_map(key), false, key .. " clean after rapid toggle")
|
||||
end
|
||||
|
||||
print("ALL MODE TESTS PASSED")
|
||||
Reference in new issue
Block a user