diff options
| -rw-r--r-- | data/styles.xml | 6 | ||||
| -rw-r--r-- | scm/extant-input.scm | 15 | ||||
| -rw-r--r-- | scm/guile.xml | 6 |
3 files changed, 27 insertions, 0 deletions
diff --git a/data/styles.xml b/data/styles.xml new file mode 100644 index 0000000..741e6dc --- /dev/null +++ b/data/styles.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<gresources> + <gresource prefix="/ski/frog/extant/styles"> + <file>window.css</file> + </gresource> +</gresources> diff --git a/scm/extant-input.scm b/scm/extant-input.scm new file mode 100644 index 0000000..d50a7fe --- /dev/null +++ b/scm/extant-input.scm @@ -0,0 +1,15 @@ +(define-module (extant input) + #:export (register-handler!)) + +(define *handlers* '()) + +(define (register-handler! proc) + (set! *handlers* (cons proc *handlers*))) + +(define (dispatch-input text) + (let loop ((handlers *handlers*)) + (if (null? handlers) + `((text . "No handlers found!") + (style . "error")) + (let ((result ((car handlers) text))) + (or result (loop (cdr handlers))))))) diff --git a/scm/guile.xml b/scm/guile.xml new file mode 100644 index 0000000..8a5368d --- /dev/null +++ b/scm/guile.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<gresources> + <gresource prefix="/ski/frog/extant/guile"> + <file>extant-input.scm</file> + </gresource> +</gresources> |
