28 lines
669 B
Scheme
28 lines
669 B
Scheme
(define-module (bugafriend logging)
|
|
#:use-module (bugafriend ncurses stuff)
|
|
#:use-module (goblins)
|
|
#:use-module (ncurses curses)
|
|
#:export (^logger
|
|
current-logger
|
|
log-str
|
|
log-format))
|
|
|
|
|
|
;; Could steal more from fantasary in future...
|
|
(define (log-to-curses win prompt-win msg)
|
|
(addstr win "\n")
|
|
(addstr win msg)
|
|
(refresh win)
|
|
;; move cursor back to the prompt
|
|
(refresh prompt-win))
|
|
|
|
(define (^logger bcom win prompt-win)
|
|
(λ (msg)
|
|
(log-to-curses win prompt-win msg)))
|
|
|
|
(define (log-str logger line)
|
|
(<-np logger line))
|
|
|
|
(define-syntax-rule (log-format logger fmt ...)
|
|
(log-str logger (format #f fmt ...)))
|