Duck util-stdout.
This commit is contained in:
parent
323293be0e
commit
b027d19f49
5 changed files with 57 additions and 33 deletions
|
@ -183,3 +183,38 @@ Executes given command ```cmd``` with given argument list ```args```
|
|||
writing all ```lines``` to its standard input and then reads all the
|
||||
process output.
|
||||
|
||||
|
||||
## util-stdout [module]
|
||||
|
||||
(import util-stdout)
|
||||
|
||||
Very simple module wrapping standard output.
|
||||
|
||||
### *stdout-quiet* [parameter]
|
||||
|
||||
(define *stdout-quiet* (make-parameter #f))
|
||||
(*stdout-quiet*)
|
||||
(*stdout-quiet* quiet)
|
||||
|
||||
A boolean parameter which disables all output from procedures in this
|
||||
module if its value is ```#t```.
|
||||
|
||||
### stdout-print [procedure]
|
||||
|
||||
(stdout-print . args)
|
||||
|
||||
If not quiet, passes ```args``` to ```print```.
|
||||
|
||||
### stdout-printf [procedure]
|
||||
|
||||
(stdout-printf fmt
|
||||
. args)
|
||||
|
||||
If not quiet, prints formatted string ```fmt``` by applying ```args```
|
||||
to ```format``` procedure.
|
||||
|
||||
### stdout-newline [procedure]
|
||||
|
||||
(stdout-newline)
|
||||
|
||||
If not quiet, calls ```(newline)```.
|
||||
|
|
24
doc/utils.md
24
doc/utils.md
|
@ -353,30 +353,6 @@ Returns a new lset instance from ```ls1``` with all elements in
|
|||
|
||||
Returns true if the sets contain exactly the same values.
|
||||
|
||||
### Stdout
|
||||
|
||||
(import util-stdout)
|
||||
|
||||
Very simple module wrapping standard output.
|
||||
|
||||
(*stdout-quiet* [quiet])
|
||||
|
||||
A boolean parameter which disables all output from procedures in this
|
||||
module if its value is ```#t```.
|
||||
|
||||
(stdout-print . args)
|
||||
|
||||
If not quiet, passes ```args``` to ```print```.
|
||||
|
||||
(stdout-printf fmt . args)
|
||||
|
||||
If not quiet, prints formatted string ```fmt``` by applying ```args```
|
||||
to ```format``` procedure.
|
||||
|
||||
(stdout-newline)
|
||||
|
||||
If not quiet, calls ```(newline)```.
|
||||
|
||||
### String
|
||||
|
||||
(import util-string)
|
||||
|
|
|
@ -59,10 +59,11 @@ HACKERBASE-OBJS=hackerbase.o testing.o listing.o cal-month.o \
|
|||
|
||||
GENDOC-SOURCES=gendoc.scm duck-extract.import.scm \
|
||||
util-time.import.scm util-csv.import.scm util-git.import.scm \
|
||||
util-io.import.scm
|
||||
util-io.import.scm util-stdout.import.scm
|
||||
|
||||
GENDOC-OBJS=gendoc.o duck-extract.o util-time.o util-csv.o util-io.o \
|
||||
progress.o testing.o util-proc.o util-git.o util-io.o
|
||||
progress.o testing.o util-proc.o util-git.o util-io.o \
|
||||
util-stdout.o
|
||||
|
||||
.PHONY: imports
|
||||
imports: $(HACKERBASE-DEPS)
|
||||
|
@ -386,7 +387,7 @@ CAL-DAY-SOURCES=cal-day.scm util-tag.import.scm cal-month.import.scm \
|
|||
cal-day.o: cal-day.import.scm
|
||||
cal-day.import.scm: $(CAL-DAY-SOURCES)
|
||||
|
||||
UTIL-STDOUT-SOURCES=util-stdout.scm
|
||||
UTIL-STDOUT-SOURCES=util-stdout.scm duck.import.scm
|
||||
|
||||
util-stdout.o: util-stdout.import.scm
|
||||
util-stdout.import.scm: $(UTIL-STDOUT-SOURCES)
|
||||
|
|
|
@ -23,4 +23,5 @@
|
|||
util-time
|
||||
util-csv
|
||||
util-git
|
||||
util-io)
|
||||
util-io
|
||||
util-stdout)
|
||||
|
|
|
@ -25,8 +25,11 @@
|
|||
|
||||
(declare (unit util-stdout))
|
||||
|
||||
(module
|
||||
(import duck)
|
||||
|
||||
(module*
|
||||
util-stdout
|
||||
#:doc ("Very simple module wrapping standard output.")
|
||||
(
|
||||
*stdout-quiet*
|
||||
stdout-print
|
||||
|
@ -39,20 +42,28 @@
|
|||
(chicken format))
|
||||
|
||||
;; If true, all stdout output is suppresed
|
||||
(define *stdout-quiet* (make-parameter #f))
|
||||
(define/doc *stdout-quiet*
|
||||
("A boolean parameter which disables all output from procedures in this
|
||||
module if its value is ```#t```.")
|
||||
quiet
|
||||
(make-parameter #f))
|
||||
|
||||
;; Prints to stdout if not quiet
|
||||
(define (stdout-print . args)
|
||||
(define/doc (stdout-print . args)
|
||||
("If not quiet, passes ```args``` to ```print```.")
|
||||
(when (not (*stdout-quiet*))
|
||||
(apply print args)))
|
||||
|
||||
;; Prints formatted string to stdout if not quiet
|
||||
(define (stdout-printf fmt . args)
|
||||
(define/doc (stdout-printf fmt . args)
|
||||
("If not quiet, prints formatted string ```fmt``` by applying ```args```
|
||||
to ```format``` procedure.")
|
||||
(when (not (*stdout-quiet*))
|
||||
(print (apply format fmt args))))
|
||||
|
||||
;; Prints newline if not quiet
|
||||
(define (stdout-newline)
|
||||
(define/doc (stdout-newline)
|
||||
("If not quiet, calls ```(newline)```.")
|
||||
(when (not (*stdout-quiet*))
|
||||
(newline)))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue