blob: d50a7fe648f1cbe7ff32f89894b8faa7fde2ebd8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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)))))))
|