direct-command
indir-command
+ indir-as-direct-command
loose-direct-command
loose-indir-command
empty-command
action
%high-priority))
+(define* (indir-as-direct-command verbs action #:optional prepositions)
+ (make-command verbs
+ cmatch-indir-obj
+ (lambda* (goes-by #:key direct-obj indir-obj preposition)
+ (if prepositions
+ (and
+ (member direct-obj goes-by)
+ (member preposition prepositions))
+ (member direct-obj goes-by)))
+ action
+ %high-priority))
+
(define* (loose-indir-command verbs action #:optional prepositions)
(make-command verbs
cmatch-indir-obj