bugafriend/bugafriend/logging.scm

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 ...)))