aboutsummaryrefslogtreecommitdiff
path: root/module/entry-points/terminal.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/entry-points/terminal.scm')
-rw-r--r--module/entry-points/terminal.scm29
1 files changed, 29 insertions, 0 deletions
diff --git a/module/entry-points/terminal.scm b/module/entry-points/terminal.scm
new file mode 100644
index 00000000..45f9b8eb
--- /dev/null
+++ b/module/entry-points/terminal.scm
@@ -0,0 +1,29 @@
+(define-module (entry-points terminal)
+ :export (main)
+ :use-module (output terminal)
+ :use-module (vcomponent)
+ :use-module (ice-9 getopt-long)
+ :use-module (srfi srfi-19)
+ :use-module (srfi srfi-19 util)
+ :use-module (parameters)
+ :use-module (vulgar)
+ )
+
+(define options
+ '((date (value #t) (single-char #\d))
+ (file (value #t) (single-char #\f))))
+
+(define (main args)
+ (define opts (getopt-long args options))
+ (define-values (calendars events)
+ (load-calendars
+ calendar-files: (cond [(option-ref opts 'file #f) => list]
+ [else (calendar-files)]) ))
+
+ (let ((time (date->time-utc
+ (drop-time (or (and=> (option-ref opts 'date #f) parse-freeform-date)
+ (current-date))))))
+ ;; (format (current-error-port) "len(events) = ~a~%" (stream-length events))
+ (with-vulgar
+ (lambda () (main-loop time events))))
+)