textwrap

Text wrapping and filling for OCaml
README

An almost complete port of Python's [textwrap] 1 library to OCaml.

Installation

Install using the Dune build tool:

$ dune build
$ dune install

or for immediate use:

$ dune utop

Or using opam 2.0:

$ opam install .

Example

So, what's in the box?

# let w = Wrapper.make 4 in
  print_endline (Wrapper.fill w "Hello world!");;
Hell
o wo
rld!
- : unit = ()

Here's a table of Wrapper.make arguments, controlling various aspects
of wrapping:

| argument             | default | description                                        |
|----------------------+---------+----------------------------------------------------|
| initial_indent       | ""      | string that will be prepended to the first line    |
|                      |         | of wrapped output.                                 |
| subsequent_indent    | ""      | string that will be prepended to all but the       |
|                      |         | first lines of wrapped output.                     |
| expand_tabs          | true    | expand tabs in input string to spaces before       |
|                      |         | further processing -- each tab will become         |
|                      |         | 8 spaces; if `false`, each tab is treaded as a     |
|                      |         | single character.                                  |
| replace_whitespace   | true    | replace all whitespace characters in the input     |
|                      |         | text by spaces *after* tab expansion.              |
| fix_sentence_endings | false   | ensure that sentence-ending punctuation is         |
|                      |         | allways followed by two spaces.                    |
| break_long_words     | true    | break words longer than 'width', if `false`, those |
|                      |         | words won't be broken and some lines might be      |
|                      |         | longer that 'width'.                               |
| drop_whitespace      | true    | drop leading and trailing whitespace from lines.   |

Missing features

The only feature OCaml version is missing from the original [textwrap] 1
is [break_on_hyphens] 2, which requires a decent regex engine to
implement; unfortunately, this is not the case for [Str] 3.

Install
Published
06 Jun 2022
Sources
textwrap-0.2.1.tbz
sha256=23c2b6963e8ae28d087b28960025e3d2aab9cc64bcca3b5a97c53038132404d9
sha512=0cba54075fc17c0dc3b60e9b9b241f7e85f2c6e372325e2a949ea251becd8a5c2d3ea843d2240ff005f3f9d76a1fbe20654405513cadc90c32f420bfc60af79b
Dependencies
Reverse Dependencies