hyper-literate/collects/scribble/private/manual-utils.ss
Matthew Flatt 5a7821c879 split scribble/manual module into smaller modules
svn: r12150

original commit: ea659ba286fc5c1fda44a89d10c137473e46e8da
2008-10-28 01:40:51 +00:00

32 lines
893 B
Scheme

#lang scheme/base
(require "../struct.ss"
"../decode.ss"
"../basic.ss"
scheme/list)
(provide spacer doc-prefix
to-flow
flow-spacer flow-empty-line
make-table-if-necessary
max-proto-width)
(define spacer (hspace 1))
(define (doc-prefix doc s)
(if doc (list (module-path-prefix->string doc) s) s))
(define (to-flow e)
(make-flow (list (make-omitable-paragraph (list e)))))
(define flow-spacer (to-flow spacer))
(define flow-empty-line (to-flow (tt 'nbsp)))
(define (make-table-if-necessary style content)
(if (= 1 (length content))
(let ([paras (append-map flow-paragraphs (car content))])
(if (andmap paragraph? paras)
(list (make-omitable-paragraph (append-map paragraph-content paras)))
(list (make-table style content))))
(list (make-table style content))))
(define max-proto-width 65)