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
|
writing all ```lines``` to its standard input and then reads all the
|
||||||
process output.
|
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.
|
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
|
### String
|
||||||
|
|
||||||
(import util-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 \
|
GENDOC-SOURCES=gendoc.scm duck-extract.import.scm \
|
||||||
util-time.import.scm util-csv.import.scm util-git.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 \
|
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
|
.PHONY: imports
|
||||||
imports: $(HACKERBASE-DEPS)
|
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.o: cal-day.import.scm
|
||||||
cal-day.import.scm: $(CAL-DAY-SOURCES)
|
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.o: util-stdout.import.scm
|
||||||
util-stdout.import.scm: $(UTIL-STDOUT-SOURCES)
|
util-stdout.import.scm: $(UTIL-STDOUT-SOURCES)
|
||||||
|
|
|
@ -23,4 +23,5 @@
|
||||||
util-time
|
util-time
|
||||||
util-csv
|
util-csv
|
||||||
util-git
|
util-git
|
||||||
util-io)
|
util-io
|
||||||
|
util-stdout)
|
||||||
|
|
|
@ -25,8 +25,11 @@
|
||||||
|
|
||||||
(declare (unit util-stdout))
|
(declare (unit util-stdout))
|
||||||
|
|
||||||
(module
|
(import duck)
|
||||||
|
|
||||||
|
(module*
|
||||||
util-stdout
|
util-stdout
|
||||||
|
#:doc ("Very simple module wrapping standard output.")
|
||||||
(
|
(
|
||||||
*stdout-quiet*
|
*stdout-quiet*
|
||||||
stdout-print
|
stdout-print
|
||||||
|
@ -39,20 +42,28 @@
|
||||||
(chicken format))
|
(chicken format))
|
||||||
|
|
||||||
;; If true, all stdout output is suppresed
|
;; 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
|
;; 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*))
|
(when (not (*stdout-quiet*))
|
||||||
(apply print args)))
|
(apply print args)))
|
||||||
|
|
||||||
;; Prints formatted string to stdout if not quiet
|
;; 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*))
|
(when (not (*stdout-quiet*))
|
||||||
(print (apply format fmt args))))
|
(print (apply format fmt args))))
|
||||||
|
|
||||||
;; Prints newline if not quiet
|
;; Prints newline if not quiet
|
||||||
(define (stdout-newline)
|
(define/doc (stdout-newline)
|
||||||
|
("If not quiet, calls ```(newline)```.")
|
||||||
(when (not (*stdout-quiet*))
|
(when (not (*stdout-quiet*))
|
||||||
(newline)))
|
(newline)))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue