From c2cd219b2077de4ec3c6659b23f60492f26c8737 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 24 May 2015 23:55:55 -0600 Subject: libremessages: expose whitespace-collapse --- src/lib/librelib | 4 ++-- src/lib/libremessages | 9 +++++---- src/lib/libremessages.1.ronn | 6 ++++++ 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/lib/librelib b/src/lib/librelib index e4c933a..bc5c5ed 100755 --- a/src/lib/librelib +++ b/src/lib/librelib @@ -34,14 +34,14 @@ print() { printf -- "$mesg\n" "$@" } -_html_whitespace_collapse() { +whitespace-collapse() { tr '\n' '\r' | sed -r \ -e 's/\r/ /g' -e 's/\t/ /g' \ -e 's/(^|[^.!? ]) +/\1 /g' -e 's/([.!?]) +/\1 /g' } prose() { - local mesg="$(_ "$(_html_whitespace_collapse <<<"$1")")"; shift + local mesg="$(_ "$(whitespace-collapse <<<"$1")")"; shift printf -- "$mesg" "$@" | fmt -u } diff --git a/src/lib/libremessages b/src/lib/libremessages index f6deac8..4bea486 100755 --- a/src/lib/libremessages +++ b/src/lib/libremessages @@ -58,11 +58,12 @@ print() { printf -- "$mesg\n" "$@" } -# Usage: _libremessages_html_whitespace_collapse << is a `printf`(1)-formatted string that is fed through `gettext`, and are its arguments. + * `whitespace-collapse`: + Collapses whitespace on stadard I/O, similar to HTML whitespace + collapsing, with the exception that it puts two spaces between + sentences. It considers newline, tab, and space to be + whitespace. + ### PROSE ROUTINES These routines print to standard output, and are useful for printing -- cgit v1.2.3