mirror of
https://github.com/c-cube/moonpool.git
synced 2026-01-22 09:16:51 -05:00
44 lines
30 KiB
HTML
44 lines
30 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Format_doc (ocaml.Format_doc)</title><meta charset="utf-8"/><link rel="stylesheet" href="../../_odoc-theme/odoc.css"/><meta name="generator" content="odoc 3.1.0"/><meta name="viewport" content="width=device-width,initial-scale=1.0"/><script src="../../highlight.pack.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body class="odoc"><nav class="odoc-nav"><a href="../index.html">Up</a> – <a href="../../index.html">Index</a> » <a href="../index.html">ocaml</a> » Format_doc</nav><header class="odoc-preamble"><h1>Module <code><span>Format_doc</span></code></h1><p>Composable document for the <code>Format</code> formatting engine.</p></header><div class="odoc-tocs"><nav class="odoc-toc odoc-local-toc"><ul><li><a href="#compatibility-api">Compatibility API</a><ul><li><a href="#format-string-interpreters">Format string interpreters</a></li><li><a href="#compatibility-with-">Compatibility with <code>Doc</code></a></li><li><a href="#source-compatibility-with-format">Source compatibility with Format</a><ul><li><a href="#string-printers">String printers</a></li><li><a href="#primitive-type-printers">Primitive type printers</a></li><li><a href="#printer-combinators">Printer combinators</a></li><li><a href="#boxes-and-tags">Boxes and tags</a></li><li><a href="#break-hints">Break hints</a></li><li><a href="#tabulations">Tabulations</a></li><li><a href="#newlines-and-flushing">Newlines and flushing</a></li></ul></li></ul></li><li><a href="#compiler-specific-functions">Compiler specific functions</a><ul><li><a href="#separators">Separators</a></li><li><a href="#compiler-output">Compiler output</a></li></ul></li></ul></nav></div><div class="odoc-content"><p>This module introduces a pure and immutable document type which represents a sequence of formatting instructions to be printed by a formatting engine at later point. At the same time, it also provides format string interpreter which produces this document type from format string and their associated printers.</p><p>The module is designed to be source compatible with code defining format printers: replacing `Format` by `Format_doc` in your code will convert `Format` printers to `Format_doc` printers.</p><div class="odoc-spec"><div class="spec module anchored" id="module-Doc"><a href="#module-Doc" class="anchor"></a><code><span><span class="keyword">module</span> <a href="Doc/index.html">Doc</a></span><span> : <span class="keyword">sig</span> ... <span class="keyword">end</span></span></code></div><div class="spec-doc"><p>Definitions and immutable API for composing documents</p></div></div><h2 id="compatibility-api"><a href="#compatibility-api" class="anchor"></a>Compatibility API</h2><p>The functions and types below provides source compatibility with format printers and conversion function from <a href="#"><code>Format_doc</code></a> printers to <code>Format</code> printers. The reverse direction is implemented using an escape hatch in the formatting instruction and should only be used to preserve backward compatibility.</p><div class="odoc-spec"><div class="spec type anchored" id="type-doc"><a href="#type-doc" class="anchor"></a><code><span><span class="keyword">type</span> doc</span><span> = <a href="Doc/index.html#type-t">Doc.t</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-t"><a href="#type-t" class="anchor"></a><code><span><span class="keyword">type</span> t</span><span> = <a href="#type-doc">doc</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-formatter"><a href="#type-formatter" class="anchor"></a><code><span><span class="keyword">type</span> formatter</span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-printer"><a href="#type-printer" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a printer</span></span><span> = <span><a href="#type-formatter">formatter</a> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-formatter"><a href="#val-formatter" class="anchor"></a><code><span><span class="keyword">val</span> formatter : <span><span><a href="#type-doc">doc</a> <a href="../Stdlib/index.html#type-ref">ref</a></span> <span class="arrow">-></span></span> <a href="#type-formatter">formatter</a></span></code></div><div class="spec-doc"><p><code>formatter rdoc</code> creates a <a href="#val-formatter"><code>formatter</code></a> that updates the <code>rdoc</code> reference</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-format_printer"><a href="#type-format_printer" class="anchor"></a><code><span><span class="keyword">type</span> <span>'a format_printer</span></span><span> = <span><a href="../Stdlib/Format/index.html#type-formatter">Stdlib.Format.formatter</a> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>Translate a <a href="#"><code>Format_doc</code></a> printer to a <code>Format</code> one.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-compat"><a href="#val-compat" class="anchor"></a><code><span><span class="keyword">val</span> compat : <span><span><span class="type-var">'a</span> <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="#type-format_printer">format_printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-compat1"><a href="#val-compat1" class="anchor"></a><code><span><span class="keyword">val</span> compat1 : <span><span>(<span><span class="type-var">'p1</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="#type-printer">printer</a></span>)</span> <span class="arrow">-></span></span> <span><span class="type-var">'p1</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="#type-format_printer">format_printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-compat2"><a href="#val-compat2" class="anchor"></a><code><span><span class="keyword">val</span> compat2 : <span><span>(<span><span class="type-var">'p1</span> <span class="arrow">-></span></span> <span><span class="type-var">'p2</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="#type-printer">printer</a></span>)</span> <span class="arrow">-></span></span> <span><span class="type-var">'p1</span> <span class="arrow">-></span></span> <span><span class="type-var">'p2</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="#type-format_printer">format_printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-deprecated_printer"><a href="#val-deprecated_printer" class="anchor"></a><code><span><span class="keyword">val</span> deprecated_printer : <span><span>(<span><a href="../Stdlib/Format/index.html#type-formatter">Stdlib.Format.formatter</a> <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span> <span><a href="#type-formatter">formatter</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p>If necessary, embbed a <code>Format</code> printer inside a formatting instruction stream. This breaks every guarantees provided by <a href="#"><code>Format_doc</code></a>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-deprecated"><a href="#val-deprecated" class="anchor"></a><code><span><span class="keyword">val</span> deprecated : <span><span><span class="type-var">'a</span> <a href="#type-format_printer">format_printer</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-deprecated1"><a href="#val-deprecated1" class="anchor"></a><code><span><span class="keyword">val</span> deprecated1 : <span><span>(<span><span class="type-var">'p1</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="#type-format_printer">format_printer</a></span>)</span> <span class="arrow">-></span></span> <span><span class="type-var">'p1</span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="#type-printer">printer</a></span></span></code></div></div><h3 id="format-string-interpreters"><a href="#format-string-interpreters" class="anchor"></a>Format string interpreters</h3><div class="odoc-spec"><div class="spec value anchored" id="val-fprintf"><a href="#val-fprintf" class="anchor"></a><code><span><span class="keyword">val</span> fprintf : <span><a href="#type-formatter">formatter</a> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <a href="#type-formatter">formatter</a>, unit)</span> <a href="../Stdlib/index.html#type-format">format</a></span> <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-kfprintf"><a href="#val-kfprintf" class="anchor"></a><code><span><span class="keyword">val</span> kfprintf :
|
||
<span><span>(<span><a href="#type-formatter">formatter</a> <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span>
|
||
<span><a href="#type-formatter">formatter</a> <span class="arrow">-></span></span>
|
||
<span><span><span>(<span class="type-var">'b</span>, <a href="#type-formatter">formatter</a>, unit, <span class="type-var">'a</span>)</span> <a href="../Stdlib/index.html#type-format4">format4</a></span> <span class="arrow">-></span></span>
|
||
<span class="type-var">'b</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-asprintf"><a href="#val-asprintf" class="anchor"></a><code><span><span class="keyword">val</span> asprintf : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-formatter">formatter</a>, unit, string)</span> <a href="../Stdlib/index.html#type-format4">format4</a></span> <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-kasprintf"><a href="#val-kasprintf" class="anchor"></a><code><span><span class="keyword">val</span> kasprintf : <span><span>(<span>string <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'b</span>, <a href="#type-formatter">formatter</a>, unit, <span class="type-var">'a</span>)</span> <a href="../Stdlib/index.html#type-format4">format4</a></span> <span class="arrow">-></span></span> <span class="type-var">'b</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-dprintf"><a href="#val-dprintf" class="anchor"></a><code><span><span class="keyword">val</span> dprintf : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-formatter">formatter</a>, unit, <span><a href="#type-formatter">formatter</a> <span class="arrow">-></span></span> unit)</span> <a href="../Stdlib/index.html#type-format4">format4</a></span> <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-kdprintf"><a href="#val-kdprintf" class="anchor"></a><code><span><span class="keyword">val</span> kdprintf :
|
||
<span><span>(<span><span>(<span><a href="#type-formatter">formatter</a> <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span> <span class="type-var">'a</span>)</span> <span class="arrow">-></span></span>
|
||
<span><span><span>(<span class="type-var">'b</span>, <a href="#type-formatter">formatter</a>, unit, <span class="type-var">'a</span>)</span> <a href="../Stdlib/index.html#type-format4">format4</a></span> <span class="arrow">-></span></span>
|
||
<span class="type-var">'b</span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-doc_printf"><a href="#val-doc_printf" class="anchor"></a><code><span><span class="keyword">val</span> doc_printf : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-formatter">formatter</a>, unit, <a href="#type-doc">doc</a>)</span> <a href="../Stdlib/index.html#type-format4">format4</a></span> <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p><a href="#val-doc_printf"><code>doc_printf</code></a> and <a href="#val-kdoc_printf"><code>kdoc_printf</code></a> creates a document directly</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-kdoc_printf"><a href="#val-kdoc_printf" class="anchor"></a><code><span><span class="keyword">val</span> kdoc_printf : <span><span>(<span><a href="#type-doc">doc</a> <span class="arrow">-></span></span> <span class="type-var">'r</span>)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <a href="#type-formatter">formatter</a>, unit, <span class="type-var">'r</span>)</span> <a href="../Stdlib/index.html#type-format4">format4</a></span> <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div></div><h3 id="compatibility-with-"><a href="#compatibility-with-" class="anchor"></a>Compatibility with <a href="Doc/index.html"><code>Doc</code></a></h3><div class="odoc-spec"><div class="spec value anchored" id="val-doc_printer"><a href="#val-doc_printer" class="anchor"></a><code><span><span class="keyword">val</span> doc_printer : <span><span><span class="type-var">'a</span> <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span> <span><span class="type-var">'a</span> <a href="Doc/index.html#type-printer">Doc.printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_doc"><a href="#val-pp_doc" class="anchor"></a><code><span><span class="keyword">val</span> pp_doc : <span><a href="#type-doc">doc</a> <a href="#type-printer">printer</a></span></span></code></div></div><h3 id="source-compatibility-with-format"><a href="#source-compatibility-with-format" class="anchor"></a>Source compatibility with Format</h3><h4 id="string-printers"><a href="#string-printers" class="anchor"></a>String printers</h4><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_string"><a href="#val-pp_print_string" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_string : <span>string <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_substring"><a href="#val-pp_print_substring" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_substring : <span><span class="label">pos</span>:int <span class="arrow">-></span></span> <span><span class="label">len</span>:int <span class="arrow">-></span></span> <span>string <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_text"><a href="#val-pp_print_text" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_text : <span>string <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_bytes"><a href="#val-pp_print_bytes" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_bytes : <span>bytes <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_as"><a href="#val-pp_print_as" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_as : <span><a href="#type-formatter">formatter</a> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span>string <span class="arrow">-></span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_substring_as"><a href="#val-pp_print_substring_as" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_substring_as :
|
||
<span><span class="label">pos</span>:int <span class="arrow">-></span></span>
|
||
<span><span class="label">len</span>:int <span class="arrow">-></span></span>
|
||
<span><a href="#type-formatter">formatter</a> <span class="arrow">-></span></span>
|
||
<span>int <span class="arrow">-></span></span>
|
||
<span>string <span class="arrow">-></span></span>
|
||
unit</span></code></div></div><h4 id="primitive-type-printers"><a href="#primitive-type-printers" class="anchor"></a>Primitive type printers</h4><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_char"><a href="#val-pp_print_char" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_char : <span>char <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_int"><a href="#val-pp_print_int" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_int : <span>int <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_float"><a href="#val-pp_print_float" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_float : <span>float <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_bool"><a href="#val-pp_print_bool" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_bool : <span>bool <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_nothing"><a href="#val-pp_print_nothing" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_nothing : <span>unit <a href="#type-printer">printer</a></span></span></code></div></div><h4 id="printer-combinators"><a href="#printer-combinators" class="anchor"></a>Printer combinators</h4><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_iter"><a href="#val-pp_print_iter" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_iter :
|
||
<span><span class="optlabel">?pp_sep</span>:<span>unit <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span>
|
||
<span><span>(<span><span>(<span><span class="type-var">'a</span> <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span> <span><span class="type-var">'b</span> <span class="arrow">-></span></span> unit)</span> <span class="arrow">-></span></span>
|
||
<span><span><span class="type-var">'a</span> <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span>
|
||
<span><span class="type-var">'b</span> <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_list"><a href="#val-pp_print_list" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_list : <span><span class="optlabel">?pp_sep</span>:<span>unit <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> list</span> <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_array"><a href="#val-pp_print_array" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_array : <span><span class="optlabel">?pp_sep</span>:<span>unit <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> array</span> <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_seq"><a href="#val-pp_print_seq" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_seq :
|
||
<span><span class="optlabel">?pp_sep</span>:<span>unit <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span>
|
||
<span><span><span class="type-var">'a</span> <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span>
|
||
<span><span><span class="type-var">'a</span> <a href="../Stdlib/Seq/index.html#type-t">Stdlib.Seq.t</a></span> <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_option"><a href="#val-pp_print_option" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_option : <span><span class="optlabel">?none</span>:<span>unit <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span> <span><span><span class="type-var">'a</span> option</span> <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_result"><a href="#val-pp_print_result" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_result :
|
||
<span><span class="label">ok</span>:<span><span class="type-var">'a</span> <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span>
|
||
<span><span class="label">error</span>:<span><span class="type-var">'e</span> <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span>
|
||
<span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'e</span>)</span> <a href="../Stdlib/index.html#type-result">result</a></span> <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_either"><a href="#val-pp_print_either" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_either :
|
||
<span><span class="label">left</span>:<span><span class="type-var">'a</span> <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span>
|
||
<span><span class="label">right</span>:<span><span class="type-var">'b</span> <a href="#type-printer">printer</a></span> <span class="arrow">-></span></span>
|
||
<span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'b</span>)</span> <a href="../Stdlib/Either/index.html#type-t">Stdlib.Either.t</a></span> <a href="#type-printer">printer</a></span></span></code></div></div><h4 id="boxes-and-tags"><a href="#boxes-and-tags" class="anchor"></a>Boxes and tags</h4><div class="odoc-spec"><div class="spec value anchored" id="val-pp_open_stag"><a href="#val-pp_open_stag" class="anchor"></a><code><span><span class="keyword">val</span> pp_open_stag : <span><a href="../Stdlib/Format/index.html#type-stag">Stdlib.Format.stag</a> <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_close_stag"><a href="#val-pp_close_stag" class="anchor"></a><code><span><span class="keyword">val</span> pp_close_stag : <span>unit <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_open_box"><a href="#val-pp_open_box" class="anchor"></a><code><span><span class="keyword">val</span> pp_open_box : <span>int <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_close_box"><a href="#val-pp_close_box" class="anchor"></a><code><span><span class="keyword">val</span> pp_close_box : <span>unit <a href="#type-printer">printer</a></span></span></code></div></div><h4 id="break-hints"><a href="#break-hints" class="anchor"></a>Break hints</h4><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_space"><a href="#val-pp_print_space" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_space : <span>unit <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_cut"><a href="#val-pp_print_cut" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_cut : <span>unit <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_break"><a href="#val-pp_print_break" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_break : <span><a href="#type-formatter">formatter</a> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> unit</span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_custom_break"><a href="#val-pp_print_custom_break" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_custom_break :
|
||
<span><a href="#type-formatter">formatter</a> <span class="arrow">-></span></span>
|
||
<span><span class="label">fits</span>:<span>(<span>(string * int * string)</span> <span class="keyword">as</span> 'c)</span> <span class="arrow">-></span></span>
|
||
<span><span class="label">breaks</span>:<span class="type-var">'c</span> <span class="arrow">-></span></span>
|
||
unit</span></code></div></div><h4 id="tabulations"><a href="#tabulations" class="anchor"></a>Tabulations</h4><div class="odoc-spec"><div class="spec value anchored" id="val-pp_open_tbox"><a href="#val-pp_open_tbox" class="anchor"></a><code><span><span class="keyword">val</span> pp_open_tbox : <span>unit <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_close_tbox"><a href="#val-pp_close_tbox" class="anchor"></a><code><span><span class="keyword">val</span> pp_close_tbox : <span>unit <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_set_tab"><a href="#val-pp_set_tab" class="anchor"></a><code><span><span class="keyword">val</span> pp_set_tab : <span>unit <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_tab"><a href="#val-pp_print_tab" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_tab : <span>unit <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_tbreak"><a href="#val-pp_print_tbreak" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_tbreak : <span><a href="#type-formatter">formatter</a> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> unit</span></code></div></div><h4 id="newlines-and-flushing"><a href="#newlines-and-flushing" class="anchor"></a>Newlines and flushing</h4><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_if_newline"><a href="#val-pp_print_if_newline" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_if_newline : <span>unit <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_force_newline"><a href="#val-pp_force_newline" class="anchor"></a><code><span><span class="keyword">val</span> pp_force_newline : <span>unit <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_flush"><a href="#val-pp_print_flush" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_flush : <span>unit <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-pp_print_newline"><a href="#val-pp_print_newline" class="anchor"></a><code><span><span class="keyword">val</span> pp_print_newline : <span>unit <a href="#type-printer">printer</a></span></span></code></div></div><h2 id="compiler-specific-functions"><a href="#compiler-specific-functions" class="anchor"></a>Compiler specific functions</h2><h3 id="separators"><a href="#separators" class="anchor"></a>Separators</h3><div class="odoc-spec"><div class="spec value anchored" id="val-comma"><a href="#val-comma" class="anchor"></a><code><span><span class="keyword">val</span> comma : <span>unit <a href="#type-printer">printer</a></span></span></code></div></div><h3 id="compiler-output"><a href="#compiler-output" class="anchor"></a>Compiler output</h3><div class="odoc-spec"><div class="spec value anchored" id="val-pp_two_columns"><a href="#val-pp_two_columns" class="anchor"></a><code><span><span class="keyword">val</span> pp_two_columns :
|
||
<span><span class="optlabel">?sep</span>:string <span class="arrow">-></span></span>
|
||
<span><span class="optlabel">?max_lines</span>:int <span class="arrow">-></span></span>
|
||
<span><a href="#type-formatter">formatter</a> <span class="arrow">-></span></span>
|
||
<span><span><span>(string * string)</span> list</span> <span class="arrow">-></span></span>
|
||
unit</span></code></div><div class="spec-doc"><p><code>pp_two_columns ?sep ?max_lines ppf l</code> prints the lines in <code>l</code> as two columns separated by <code>sep</code> ("|" by default). <code>max_lines</code> can be used to indicate a maximum number of lines to print -- an ellipsis gets inserted at the middle if the input has too many lines.</p><p>Example:</p><pre>pp_two_columns ~max_lines:3 Format.std_formatter [
|
||
"abc", "hello";
|
||
"def", "zzz";
|
||
"a" , "bllbl";
|
||
"bb" , "dddddd";
|
||
]</pre><p>prints</p><pre>abc | hello
|
||
...
|
||
bb | dddddd</pre></div></div></div></body></html>
|