summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackson Moore <jacksonmoore@tuta.io>2026-09-04 12:35:06 +0200
committerJackson Moore <jacksonmoore@tuta.io>2026-09-04 12:35:06 +0200
commita00447c069fbfc10be24b47de9de7dd87db51a2b (patch)
treefb31cbf3199236ee84b695d1f1d58e027fb62ab2
parentb19a8857d7ff9849ee2c1c1e2a436e6c23fd08db (diff)
Limit operator feedback to temporary marks
-rw-r--r--tests/run.lua36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/run.lua b/tests/run.lua
index b337b10..03e1c2d 100644
--- a/tests/run.lua
+++ b/tests/run.lua
@@ -6009,6 +6009,42 @@ test("Persistent feedback accepts every eligible mode context", function()
end
end)
+test("Operator acquisition keeps feedback temporary", function()
+ local state, transitions = fresh_sequence_state()
+ local host = MemoryHost.new({
+ buffer_lines = { "abc" },
+ configuration = {
+ mark_cursor = true,
+ mark_direct = true,
+ mark_char = true,
+ },
+ input_packets = { { kind = "text", text = "b" } },
+ })
+ local feedback = feedback_service.new({
+ host = host,
+ transitions = transitions,
+ })
+ local service = acquisition_service.new({
+ host = host,
+ transitions = transitions,
+ feedback = feedback,
+ })
+ local result = service:acquire(
+ "f",
+ "no",
+ domain.Position.new(1, 1),
+ nil,
+ nil
+ )
+
+ same(nil, result.persistent_feedback_request)
+ truthy(service:last_temporary_scope().cursor_marker ~= nil)
+ truthy(service:last_temporary_scope().direct_marker ~= nil)
+ same(0, #state.target_overlays)
+ same(0, #state.temporary_overlays)
+ same(0, map_size(host:highlights()))
+end)
+
for _, item in ipairs(tests) do
local ok, failure = xpcall(item.body, debug.traceback)
if not ok then