54 |
;; |
;; |
55 |
;; |
;; |
56 |
;; Usage from a Scheme program: |
;; Usage from a Scheme program: |
57 |
;; (summrize-guile-TODO . args) ; uses first arg only |
;; (summarize-guile-TODO . args) ; uses first arg only |
58 |
;; |
;; |
59 |
;; |
;; |
60 |
;; Bugs: (1) Markers are scanned in sequence: D R X N%. This means "XD" |
;; Bugs: (1) Markers are scanned in sequence: D R X N%. This means "XD" |
155 |
(loop (cdr sub) (remove-if-not (car sub) items)))))) |
(loop (cdr sub) (remove-if-not (car sub) items)))))) |
156 |
|
|
157 |
(define (make-display-item show-who? show-parent?) |
(define (make-display-item show-who? show-parent?) |
158 |
(lambda (item) |
(let ((show-who |
159 |
(format #t "status: ~A~A~A~A~A~A\nitem : ~A\n" |
(if show-who? |
160 |
(get item 'status) |
(lambda (item) |
161 |
(if (get item 'design?) "D" "") |
(cond ((get item 'who) |
162 |
(if (get item 'review?) "R" "") |
=> (lambda (who) (format #f " ~A" who))) |
163 |
(if (get item 'extblock?) "X" "") |
(else ""))) |
164 |
(cond ((get item 'pct-done) |
(lambda (item) ""))) |
165 |
=> (lambda (pct-done) |
(show-parents |
166 |
(format #f " ~A%" pct-done))) |
(if show-parent? |
167 |
(else "")) |
(lambda (item) |
168 |
(cond ((get item 'who) |
(let loop ((parent (get item 'parent)) (indent 2)) |
169 |
=> (lambda (who) |
(and parent |
170 |
(if show-who? |
(begin |
171 |
(format #f " ~A" who) |
(format #t "under : ~A~A\n" |
172 |
""))) |
(make-string indent #\space) |
173 |
(else "")) |
parent) |
174 |
item) |
(loop (get parent 'parent) (+ 2 indent)))))) |
175 |
(and show-parent? |
(lambda (item) #t)))) |
176 |
(let loop ((parent (get item 'parent)) (indent 2)) |
(lambda (item) |
177 |
(and parent |
(format #t "status: ~A~A~A~A~A~A\nitem : ~A\n" |
178 |
(begin |
(get item 'status) |
179 |
(format #t "under : ~A~A\n" |
(if (get item 'design?) "D" "") |
180 |
(make-string indent #\space) |
(if (get item 'review?) "R" "") |
181 |
parent) |
(if (get item 'extblock?) "X" "") |
182 |
(loop (get parent 'parent) (+ 2 indent)))))))) |
(cond ((get item 'pct-done) |
183 |
|
=> (lambda (pct-done) |
184 |
|
(format #f " ~A%" pct-done))) |
185 |
|
(else "")) |
186 |
|
(show-who item) |
187 |
|
item) |
188 |
|
(show-parents item)))) |
189 |
|
|
190 |
(define (display-items p items) |
(define (display-items p items) |
191 |
(let ((display-item (make-display-item (option-ref p 'who #f) |
(let ((display-item (make-display-item (option-ref p 'who #f) |