commit fb834f496cb5445d2eae673b8805162c284b8e22
parent 28080a138731f74d209ff5b36ff4a9e98801f2db
Author: Daniel Barlow <dan@telent.net>
Date: Fri, 30 Dec 2022 15:58:09 +0000
rename on-input -> on-activate
it's only called when RET is pressed, not during editing
Diffstat:
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/command.fnl b/command.fnl
@@ -87,7 +87,7 @@
state)
)))
-(fn on-input [self str]
+(fn on-activate [self str]
(let [s (next-action self.state str)
param (if s.active (. (. s.command :params) s.this-param))]
(set self.state s)
@@ -121,7 +121,7 @@
:collected-params supplied-params
}]
(set self.state s)
- (let [r (self:on-input nil)]
+ (let [r (self:on-activate nil)]
(update-widget-state self r)
(self.entry:grab_focus)
r)))
@@ -136,7 +136,7 @@
:state default-state
: activate
:active? (fn [self] self.state.active)
- : on-input
+ : on-activate
: invoke-interactively
: entry
:widget box
@@ -147,7 +147,7 @@
(box:pack_start entry true true 5)
(tset entry :on_activate
(fn [event]
- (let [result (self:on-input event.text)]
+ (let [result (self:on-activate event.text)]
(set prompt.label (or result.prompt ""))
(set entry.sensitive result.active)
(set entry.text (or result.default result.error "")))))
diff --git a/test/command.fnl b/test/command.fnl
@@ -20,7 +20,7 @@
(let [commander (Command.commander)
(ok err)
(match-try (commander:activate)
- {:active true} (commander:on-input "not-a-command")
+ {:active true} (commander:on-activate "not-a-command")
(where {:error e :active false} (e:match "can't find command")) true
(catch
x (values nil (view x))))]
@@ -30,9 +30,9 @@
(let [commander (Command.commander)
(ok err)
(match-try (commander:activate)
- {:active true} (commander:on-input "multiply")
- {:active true :prompt p1} (commander:on-input "2")
- {:active true :prompt p2} (commander:on-input "3")
+ {:active true} (commander:on-activate "multiply")
+ {:active true :prompt p1} (commander:on-activate "2")
+ {:active true :prompt p2} (commander:on-activate "3")
(where {:active false} (= happened 6)) true
(catch
x (values nil (view x))))]