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/text.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/text.scm')
-rw-r--r-- | module/entry-points/text.scm | 19 |
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)))) |