package textwrap
Text wrapping and filling for OCaml
Install
Dune Dependency
Authors
Maintainers
Sources
textwrap-0.2.1.tbz
sha256=23c2b6963e8ae28d087b28960025e3d2aab9cc64bcca3b5a97c53038132404d9
sha512=0cba54075fc17c0dc3b60e9b9b241f7e85f2c6e372325e2a949ea251becd8a5c2d3ea843d2240ff005f3f9d76a1fbe20654405513cadc90c32f420bfc60af79b
README.md.html
textwrap
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.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>