summaryrefslogtreecommitdiff
path: root/lua/clever_f
diff options
context:
space:
mode:
authorJackson Moore <jacksonmoore@tuta.io>2026-09-04 14:19:38 +0200
committerJackson Moore <jacksonmoore@tuta.io>2026-09-04 14:19:38 +0200
commit684a3c387f132fff9c5768f56de3a6677bfda1e7 (patch)
tree42e021c490b0e53aad1eb18ef201a1e7e005287c /lua/clever_f
parent319fee652eda9a27dfffa0a6370ef4f434927c80 (diff)
Add free-form descriptor adapter
Diffstat (limited to 'lua/clever_f')
-rw-r--r--lua/clever_f/action_facade.lua10
-rw-r--r--lua/clever_f/composition_root.lua4
2 files changed, 12 insertions, 2 deletions
diff --git a/lua/clever_f/action_facade.lua b/lua/clever_f/action_facade.lua
index b9bb970..b732ca6 100644
--- a/lua/clever_f/action_facade.lua
+++ b/lua/clever_f/action_facade.lua
@@ -51,8 +51,14 @@ function ActionFacade:primary(descriptor)
return outcome
end
-ActionFacade.invoke_primary = ActionFacade.primary
-ActionFacade.start = ActionFacade.primary
+function ActionFacade:invoke_descriptor(value)
+ local descriptor = sequence_coordinator.validate_primary_descriptor(value)
+ return self:primary(descriptor)
+end
+
+ActionFacade.invoke_primary = ActionFacade.invoke_descriptor
+ActionFacade.start = ActionFacade.invoke_descriptor
+ActionFacade.FreeForm = ActionFacade.invoke_descriptor
function ActionFacade:start_find_forward()
return self:primary("f")
diff --git a/lua/clever_f/composition_root.lua b/lua/clever_f/composition_root.lua
index fac567d..fa38fa1 100644
--- a/lua/clever_f/composition_root.lua
+++ b/lua/clever_f/composition_root.lua
@@ -179,6 +179,10 @@ function CompositionRoot:facade()
return root_records[self].facade
end
+function CompositionRoot:invoke_descriptor(value)
+ return self:facade():invoke_descriptor(value)
+end
+
function M.new(options)
return CompositionRoot.new(options)
end