aboutsummaryrefslogtreecommitdiff
path: root/module/entry-points/text.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/text.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 '')
-rw-r--r--module/entry-points/text.scm19
1 files changed, 19 insertions, 0 deletions
diff --git a/module/entry-points/text.scm b/module/entry-points/text.scm
new file mode 100644
index 00000000..a537b6ac
--- /dev/null
+++ b/module/entry-points/text.scm
@@ -0,0 +1,19 @@
+(define-module (entry-points text)
+ :export (main)
+ :use-module (output text)
+ :use-module (ice-9 getopt-long)
+ :use-module (util io)
+ )
+
+
+(define options
+ '((width (value #t) (single-char #\w))
+ (file (value #t) (single-char #\f))
+ ))
+
+(define (main opts)
+ (for-each (lambda (l) (display l) (newline))
+ (flow-text
+ (with-input-from-port (open-input-port (option-ref opts 'file "-"))
+ (@ (ice-9 rdelim) read-string))
+ #:width (or (string->number (option-ref opts 'width "")) 70))))