From e5a01335f0d6fe7167e3e615c7244b56e96d8599 Mon Sep 17 00:00:00 2001 From: Jackson Moore Date: Fri, 4 Sep 2026 11:12:50 +0200 Subject: Build opposite-direction requests --- lua/clever_f/repeat_resolver.lua | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'lua/clever_f/repeat_resolver.lua') diff --git a/lua/clever_f/repeat_resolver.lua b/lua/clever_f/repeat_resolver.lua index 8f40059..057c7e6 100644 --- a/lua/clever_f/repeat_resolver.lua +++ b/lua/clever_f/repeat_resolver.lua @@ -253,6 +253,28 @@ end RepeatResolver.resolve_explicit_same = RepeatResolver.same_direction_request RepeatResolver.explicit_same = RepeatResolver.same_direction_request +function M.build_opposite_direction_request(stored_descriptor, stored_target) + return domain.ExplicitRepeatRequest.new( + domain.Descriptor.swap(stored_descriptor), + stored_target + ) +end + +M.explicit_opposite_direction = M.build_opposite_direction_request + +function RepeatResolver:opposite_direction_request(context) + context = domain.ModeContext.from_full_mode(context) + local state = resolver_records[self].state + return M.build_opposite_direction_request( + state:get_previous_descriptor(context), + state:get_previous_target(context) + ) +end + +RepeatResolver.resolve_explicit_opposite = + RepeatResolver.opposite_direction_request +RepeatResolver.explicit_opposite = RepeatResolver.opposite_direction_request + function M.new(options) return RepeatResolver.new(options) end -- cgit v1.2.3