diff options
author | Tom Willemsen | 2012-08-14 22:24:34 +0200 |
---|---|---|
committer | Tom Willemsen | 2012-08-14 22:24:34 +0200 |
commit | 17d9c17d9f622e6bf0853f1af69fff6147533c24 (patch) | |
tree | 6825d3aa1b1e0800865bee37b9defccb5c4e1eb4 | |
parent | b026bf9fccc1e84776a02e0c20515ce66714f787 (diff) | |
download | undone-17d9c17d9f622e6bf0853f1af69fff6147533c24.tar.gz undone-17d9c17d9f622e6bf0853f1af69fff6147533c24.zip |
Simplify call to define-view
-rw-r--r-- | undone/main.scm | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/undone/main.scm b/undone/main.scm index 9f3cfa8..e916ad2 100644 --- a/undone/main.scm +++ b/undone/main.scm @@ -5,15 +5,21 @@ (define-syntax define-view (lambda (x) - (syntax-case x () - ((_ name doc exps exps* ...) + (syntax-case x (with) + ((_ name doc fmt fields fields* ...) (with-syntax ((viewname (datum->syntax x (symbol-append (syntax->datum #'name) '-view)))) - #'(begin + #`(begin (define (viewname) doc - exps exps* ...) + (map (lambda (item) + (format #t fmt + #,@(map + (lambda (field) + #`(cdr (assq (quote #,field) item))) + #'(fields fields* ...)))) + todo-list)) (set! view-list (append view-list (list (cons 'name viewname)))))))))) @@ -77,13 +83,7 @@ (define-view default "Default todo-list view, show only the title." - (map (lambda (todo) - (display (cdr (assq 'content todo)))) - todo-list)) - -(define-view raw - "Just a test view, see everything in todo-list." - (format #t "~y" todo-list)) + "~a" content) (define (view args) "Show a list of todo items." |