From d253d1db79eba8cc110f79af2d4a9aea6fa9be02 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 2 Jan 2021 13:30:10 -0500 Subject: minibuffer: Add define-minibuffer-command macro. --- starling/minibuffer.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/starling/minibuffer.scm b/starling/minibuffer.scm index 2515604..9488530 100644 --- a/starling/minibuffer.scm +++ b/starling/minibuffer.scm @@ -35,6 +35,7 @@ #:use-module (starling scene) #:export ( add-minibuffer-command + define-minibuffer-command open-minibuffer)) (define-class () @@ -49,6 +50,9 @@ (define-method (add-minibuffer-command name thunk) (hash-set! (minibuffer-commands) name thunk)) +(define-syntax-rule (define-minibuffer-command name body ...) + (add-minibuffer-command (symbol->string 'name) (lambda () body ...))) + (define-method (open-minibuffer minibuffer) (set! (overlay-scene minibuffer) (current-scene (scene-mux minibuffer))) (push-scene (scene-mux minibuffer) minibuffer)) -- cgit v1.2.3