aboutsummaryrefslogtreecommitdiff
path: root/module/entry-points/info.scm
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@hornquist.se>2019-12-23 23:40:14 +0100
committerHugo Hörnquist <hugo@hornquist.se>2019-12-24 00:02:02 +0100
commit92b2f429a06ed9b052baff5e27f012397b338f6a (patch)
tree0ca9c2d8d1d72f5c898ee8384c2ef5459c1ef112 /module/entry-points/info.scm
parentMove open-{input,output}-port to (util io). (diff)
downloadcalp-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.scm24
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)))))
+
+