diff options
author | Hugo Hörnquist <hugo@hornquist.se> | 2019-12-23 23:40:14 +0100 |
---|---|---|
committer | Hugo Hörnquist <hugo@hornquist.se> | 2019-12-24 00:02:02 +0100 |
commit | 92b2f429a06ed9b052baff5e27f012397b338f6a (patch) | |
tree | 0ca9c2d8d1d72f5c898ee8384c2ef5459c1ef112 /module/entry-points/info.scm | |
parent | Move open-{input,output}-port to (util io). (diff) | |
download | calp-92b2f429a06ed9b052baff5e27f012397b338f6a.tar.gz calp-92b2f429a06ed9b052baff5e27f012397b338f6a.tar.xz |
Rework program initialization.
Old init setup had the fancy idea to parse all files before anything
could be done with them. This however led to problems when a part of the
program which didn't care for the calendar files (such as text
formatting).
It also made testing performance almost impossible since to much code
was run before I had a chance to init statprof.
Diffstat (limited to 'module/entry-points/info.scm')
-rw-r--r-- | module/entry-points/info.scm | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/module/entry-points/info.scm b/module/entry-points/info.scm new file mode 100644 index 00000000..7bc898b2 --- /dev/null +++ b/module/entry-points/info.scm @@ -0,0 +1,24 @@ +(define-module (entry-points info) + :export (main) + :use-module (util)) + +(use-modules (ice-9 getopt-long) + (vcomponent) + (vcomponent output) + (vulgar color) + (srfi srfi-1)) + +(define (main args) + (define-values (calendars events) + (load-calendars)) + + (format #t "~%Found ~a calendars, named:~%~{ - [~4@a] ~a~a\x1b[m~%~}~%" + (length calendars) + (concatenate + (zip (map (lambda (c) (length (filter (lambda (e) (eq? 'VEVENT (type e))) + (children c)))) + calendars) + (map (compose color-escape (extract 'COLOR)) calendars) + (map (extract 'NAME) calendars))))) + + |