From 4aa8704dc0de5a691ddd5a71f0e3a81659463798 Mon Sep 17 00:00:00 2001 From: Jackson Moore Date: Fri, 4 Sep 2026 12:43:53 +0200 Subject: Gate persistent highlight timeout --- lua/clever_f/feedback_service.lua | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'lua') diff --git a/lua/clever_f/feedback_service.lua b/lua/clever_f/feedback_service.lua index 9c2cdc3..98f51aa 100644 --- a/lua/clever_f/feedback_service.lua +++ b/lua/clever_f/feedback_service.lua @@ -120,6 +120,7 @@ local function require_host(host) or type(host.register_events) ~= "function" or type(host.remove_event_registration) ~= "function" or type(host.stop_timer) ~= "function" + or type(host.supports_timers) ~= "function" or type(host.supports_cursor_presentation) ~= "function" or type(host.suppress_cursor_presentation) ~= "function" or type(host.restore_cursor_presentation) ~= "function" @@ -150,6 +151,8 @@ local function require_policy(service, host) if type(service) ~= "table" or type(service.evaluate_highlight_links) ~= "function" or type(service.sample_acquisition) ~= "function" + or type(service.sample_markers) ~= "function" + or type(service.sample_timeouts) ~= "function" then fail("FeedbackService policy must evaluate highlight links", 3) end @@ -687,6 +690,18 @@ function FeedbackService:migrate_command(request) } end +function FeedbackService:highlight_timer_delay() + local record = service_records[self] + if not record.policy:sample_markers().mark_char then + return nil + end + local delay = record.policy:sample_timeouts().highlight_timeout_ms + if delay == 0 or record.host:supports_timers() ~= true then + return nil + end + return delay +end + function FeedbackService:evaluate_feature_links() local record = service_records[self] local rules = record.policy:evaluate_highlight_links() -- cgit v1.2.3