mirror of
https://github.com/c-cube/moonpool.git
synced 2026-01-22 09:16:51 -05:00
12 lines
25 KiB
HTML
12 lines
25 KiB
HTML
<!DOCTYPE html>
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Doc (ocaml.Format_doc.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> » <a href="../index.html">Format_doc</a> » Doc</nav><header class="odoc-preamble"><h1>Module <code><span>Format_doc.Doc</span></code></h1><p>Definitions and immutable API for composing documents</p></header><div class="odoc-tocs"><nav class="odoc-toc odoc-local-toc"><ul><li><a href="#type-definitions-and-core-functions">Type definitions and core functions</a></li></ul></nav></div><div class="odoc-content"><h3 id="type-definitions-and-core-functions"><a href="#type-definitions-and-core-functions" class="anchor"></a>Type definitions and core functions</h3><div class="odoc-spec"><div class="spec type anchored" id="type-box_type"><a href="#type-box_type" class="anchor"></a><code><span><span class="keyword">type</span> box_type</span><span> = </span></code><ol><li id="type-box_type.H" class="def variant constructor anchored"><a href="#type-box_type.H" class="anchor"></a><code><span>| </span><span><span class="constructor">H</span></span></code></li><li id="type-box_type.V" class="def variant constructor anchored"><a href="#type-box_type.V" class="anchor"></a><code><span>| </span><span><span class="constructor">V</span></span></code></li><li id="type-box_type.HV" class="def variant constructor anchored"><a href="#type-box_type.HV" class="anchor"></a><code><span>| </span><span><span class="constructor">HV</span></span></code></li><li id="type-box_type.HoV" class="def variant constructor anchored"><a href="#type-box_type.HoV" class="anchor"></a><code><span>| </span><span><span class="constructor">HoV</span></span></code></li><li id="type-box_type.B" class="def variant constructor anchored"><a href="#type-box_type.B" class="anchor"></a><code><span>| </span><span><span class="constructor">B</span></span></code></li></ol></div><div class="spec-doc"><p>Format box types</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-stag"><a href="#type-stag" class="anchor"></a><code><span><span class="keyword">type</span> stag</span><span> = <a href="../../Stdlib/Format/index.html#type-stag">Stdlib.Format.stag</a></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-element"><a href="#type-element" class="anchor"></a><code><span><span class="keyword">type</span> element</span><span> = </span></code><ol><li id="type-element.Text" class="def variant constructor anchored"><a href="#type-element.Text" class="anchor"></a><code><span>| </span><span><span class="constructor">Text</span> <span class="keyword">of</span> string</span></code></li><li id="type-element.With_size" class="def variant constructor anchored"><a href="#type-element.With_size" class="anchor"></a><code><span>| </span><span><span class="constructor">With_size</span> <span class="keyword">of</span> int</span></code></li><li id="type-element.Open_box" class="def variant constructor anchored"><a href="#type-element.Open_box" class="anchor"></a><code><span>| </span><span><span class="constructor">Open_box</span> <span class="keyword">of</span> </span><span>{</span></code><ol><li id="type-element.kind" class="def record field anchored"><a href="#type-element.kind" class="anchor"></a><code><span>kind : <a href="#type-box_type">box_type</a>;</span></code></li><li id="type-element.indent" class="def record field anchored"><a href="#type-element.indent" class="anchor"></a><code><span>indent : int;</span></code></li></ol><code><span>}</span></code></li><li id="type-element.Close_box" class="def variant constructor anchored"><a href="#type-element.Close_box" class="anchor"></a><code><span>| </span><span><span class="constructor">Close_box</span></span></code></li><li id="type-element.Open_tag" class="def variant constructor anchored"><a href="#type-element.Open_tag" class="anchor"></a><code><span>| </span><span><span class="constructor">Open_tag</span> <span class="keyword">of</span> <a href="../../Stdlib/Format/index.html#type-stag">Stdlib.Format.stag</a></span></code></li><li id="type-element.Close_tag" class="def variant constructor anchored"><a href="#type-element.Close_tag" class="anchor"></a><code><span>| </span><span><span class="constructor">Close_tag</span></span></code></li><li id="type-element.Open_tbox" class="def variant constructor anchored"><a href="#type-element.Open_tbox" class="anchor"></a><code><span>| </span><span><span class="constructor">Open_tbox</span></span></code></li><li id="type-element.Tab_break" class="def variant constructor anchored"><a href="#type-element.Tab_break" class="anchor"></a><code><span>| </span><span><span class="constructor">Tab_break</span> <span class="keyword">of</span> </span><span>{</span></code><ol><li id="type-element.width" class="def record field anchored"><a href="#type-element.width" class="anchor"></a><code><span>width : int;</span></code></li><li id="type-element.offset" class="def record field anchored"><a href="#type-element.offset" class="anchor"></a><code><span>offset : int;</span></code></li></ol><code><span>}</span></code></li><li id="type-element.Set_tab" class="def variant constructor anchored"><a href="#type-element.Set_tab" class="anchor"></a><code><span>| </span><span><span class="constructor">Set_tab</span></span></code></li><li id="type-element.Close_tbox" class="def variant constructor anchored"><a href="#type-element.Close_tbox" class="anchor"></a><code><span>| </span><span><span class="constructor">Close_tbox</span></span></code></li><li id="type-element.Simple_break" class="def variant constructor anchored"><a href="#type-element.Simple_break" class="anchor"></a><code><span>| </span><span><span class="constructor">Simple_break</span> <span class="keyword">of</span> </span><span>{</span></code><ol><li id="type-element.spaces" class="def record field anchored"><a href="#type-element.spaces" class="anchor"></a><code><span>spaces : int;</span></code></li><li id="type-element.indent" class="def record field anchored"><a href="#type-element.indent" class="anchor"></a><code><span>indent : int;</span></code></li></ol><code><span>}</span></code></li><li id="type-element.Break" class="def variant constructor anchored"><a href="#type-element.Break" class="anchor"></a><code><span>| </span><span><span class="constructor">Break</span> <span class="keyword">of</span> </span><span>{</span></code><ol><li id="type-element.fits" class="def record field anchored"><a href="#type-element.fits" class="anchor"></a><code><span>fits : <span>(string * int * string)</span> <span class="keyword">as</span> 'a;</span></code></li><li id="type-element.breaks" class="def record field anchored"><a href="#type-element.breaks" class="anchor"></a><code><span>breaks : <span class="type-var">'a</span>;</span></code></li></ol><code><span>}</span></code></li><li id="type-element.Flush" class="def variant constructor anchored"><a href="#type-element.Flush" class="anchor"></a><code><span>| </span><span><span class="constructor">Flush</span> <span class="keyword">of</span> </span><span>{</span></code><ol><li id="type-element.newline" class="def record field anchored"><a href="#type-element.newline" class="anchor"></a><code><span>newline : bool;</span></code></li></ol><code><span>}</span></code></li><li id="type-element.Newline" class="def variant constructor anchored"><a href="#type-element.Newline" class="anchor"></a><code><span>| </span><span><span class="constructor">Newline</span></span></code></li><li id="type-element.If_newline" class="def variant constructor anchored"><a href="#type-element.If_newline" class="anchor"></a><code><span>| </span><span><span class="constructor">If_newline</span></span></code></li><li id="type-element.Deprecated" class="def variant constructor anchored"><a href="#type-element.Deprecated" class="anchor"></a><code><span>| </span><span><span class="constructor">Deprecated</span> <span class="keyword">of</span> <span><a href="../../Stdlib/Format/index.html#type-formatter">Stdlib.Format.formatter</a> <span class="arrow">-></span></span> unit</span></code><div class="def-doc"><span class="comment-delim">(*</span><p>Escape hatch: a <code>Format</code> printer used to provide backward-compatibility for user-defined printer (from the <code>#install_printer</code> toplevel directive for instance).</p><span class="comment-delim">*)</span></div></li></ol></div><div class="spec-doc"><p>Base formatting instruction recognized by <code>Format</code></p></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></code></div><div class="spec-doc"><p>Immutable document type</p></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-fmt"><a href="#type-fmt" class="anchor"></a><code><span><span class="keyword">type</span> <span>('a, 'b) fmt</span></span><span> = <span><span>(<span class="type-var">'a</span>, <a href="#type-t">t</a>, <a href="#type-t">t</a>, <span class="type-var">'b</span>)</span> <a href="../../Stdlib/index.html#type-format4">format4</a></span></span></code></div></div><div class="odoc-spec"><div class="spec type anchored" id="type-printer0"><a href="#type-printer0" class="anchor"></a><code><span><span class="keyword">type</span> printer0</span><span> = <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <a href="#type-t">t</a></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><span class="type-var">'a</span> <span class="arrow">-></span></span> <a href="#type-printer0">printer0</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-empty"><a href="#val-empty" class="anchor"></a><code><span><span class="keyword">val</span> empty : <a href="#type-t">t</a></span></code></div><div class="spec-doc"><p>Empty document</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-format"><a href="#val-format" class="anchor"></a><code><span><span class="keyword">val</span> format : <span><a href="../../Stdlib/Format/index.html#type-formatter">Stdlib.Format.formatter</a> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> unit</span></code></div><div class="spec-doc"><p><code>format ppf doc</code> sends the format instruction of <code>doc</code> to the Format's formatter <code>doc</code>.</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-fold"><a href="#val-fold" class="anchor"></a><code><span><span class="keyword">val</span> fold : <span><span>(<span><span class="type-var">'acc</span> <span class="arrow">-></span></span> <span><a href="#type-element">element</a> <span class="arrow">-></span></span> <span class="type-var">'acc</span>)</span> <span class="arrow">-></span></span> <span><span class="type-var">'acc</span> <span class="arrow">-></span></span> <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span class="type-var">'acc</span></span></code></div><div class="spec-doc"><p>Fold over a document as a sequence of instructions</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-msg"><a href="#val-msg" class="anchor"></a><code><span><span class="keyword">val</span> msg : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-t">t</a>)</span> <a href="#type-fmt">fmt</a></span> <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p><a href="#val-msg"><code>msg</code></a> and <a href="#val-kmsg"><code>kmsg</code></a> produce a document from a format string and its argument</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-kmsg"><a href="#val-kmsg" class="anchor"></a><code><span><span class="keyword">val</span> kmsg : <span><span>(<span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span class="type-var">'b</span>)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span class="type-var">'b</span>)</span> <a href="#type-fmt">fmt</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-printf"><a href="#val-printf" class="anchor"></a><code><span><span class="keyword">val</span> printf : <span><span><span>(<span class="type-var">'a</span>, <a href="#type-printer0">printer0</a>)</span> <a href="#type-fmt">fmt</a></span> <span class="arrow">-></span></span> <span class="type-var">'a</span></span></code></div><div class="spec-doc"><p><a href="#val-printf"><code>printf</code></a> and <a href="#val-kprintf"><code>kprintf</code></a> produce a printer from a format string and its argument</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-kprintf"><a href="#val-kprintf" class="anchor"></a><code><span><span class="keyword">val</span> kprintf : <span><span>(<span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span class="type-var">'b</span>)</span> <span class="arrow">-></span></span> <span><span><span>(<span class="type-var">'a</span>, <span><a href="#type-t">t</a> <span class="arrow">-></span></span> <span class="type-var">'b</span>)</span> <a href="#type-fmt">fmt</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-open_box"><a href="#val-open_box" class="anchor"></a><code><span><span class="keyword">val</span> open_box : <span><a href="#type-box_type">box_type</a> <span class="arrow">-></span></span> <span>int <span class="arrow">-></span></span> <a href="#type-printer0">printer0</a></span></code></div><div class="spec-doc"><p>The functions below mirror <code>Format</code> printers, without the <code>pp_print_</code> prefix naming convention</p></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-close_box"><a href="#val-close_box" class="anchor"></a><code><span><span class="keyword">val</span> close_box : <a href="#type-printer0">printer0</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-text"><a href="#val-text" class="anchor"></a><code><span><span class="keyword">val</span> 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-string"><a href="#val-string" class="anchor"></a><code><span><span class="keyword">val</span> 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-bytes"><a href="#val-bytes" class="anchor"></a><code><span><span class="keyword">val</span> 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-with_size"><a href="#val-with_size" class="anchor"></a><code><span><span class="keyword">val</span> with_size : <span>int <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-int"><a href="#val-int" class="anchor"></a><code><span><span class="keyword">val</span> 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-float"><a href="#val-float" class="anchor"></a><code><span><span class="keyword">val</span> 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-char"><a href="#val-char" class="anchor"></a><code><span><span class="keyword">val</span> 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-bool"><a href="#val-bool" class="anchor"></a><code><span><span class="keyword">val</span> 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-space"><a href="#val-space" class="anchor"></a><code><span><span class="keyword">val</span> space : <a href="#type-printer0">printer0</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-cut"><a href="#val-cut" class="anchor"></a><code><span><span class="keyword">val</span> cut : <a href="#type-printer0">printer0</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-break"><a href="#val-break" class="anchor"></a><code><span><span class="keyword">val</span> break : <span><span class="label">spaces</span>:int <span class="arrow">-></span></span> <span><span class="label">indent</span>:int <span class="arrow">-></span></span> <a href="#type-printer0">printer0</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-custom_break"><a href="#val-custom_break" class="anchor"></a><code><span><span class="keyword">val</span> custom_break :
|
||
<span><span class="label">fits</span>:<span>(<span>(string * int * string)</span> <span class="keyword">as</span> 'a)</span> <span class="arrow">-></span></span>
|
||
<span><span class="label">breaks</span>:<span class="type-var">'a</span> <span class="arrow">-></span></span>
|
||
<a href="#type-printer0">printer0</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-force_newline"><a href="#val-force_newline" class="anchor"></a><code><span><span class="keyword">val</span> force_newline : <a href="#type-printer0">printer0</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-if_newline"><a href="#val-if_newline" class="anchor"></a><code><span><span class="keyword">val</span> if_newline : <a href="#type-printer0">printer0</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-flush"><a href="#val-flush" class="anchor"></a><code><span><span class="keyword">val</span> flush : <a href="#type-printer0">printer0</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-force_stop"><a href="#val-force_stop" class="anchor"></a><code><span><span class="keyword">val</span> force_stop : <a href="#type-printer0">printer0</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-open_tbox"><a href="#val-open_tbox" class="anchor"></a><code><span><span class="keyword">val</span> open_tbox : <a href="#type-printer0">printer0</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-set_tab"><a href="#val-set_tab" class="anchor"></a><code><span><span class="keyword">val</span> set_tab : <a href="#type-printer0">printer0</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-tab"><a href="#val-tab" class="anchor"></a><code><span><span class="keyword">val</span> tab : <a href="#type-printer0">printer0</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-tab_break"><a href="#val-tab_break" class="anchor"></a><code><span><span class="keyword">val</span> tab_break : <span><span class="label">width</span>:int <span class="arrow">-></span></span> <span><span class="label">offset</span>:int <span class="arrow">-></span></span> <a href="#type-printer0">printer0</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-close_tbox"><a href="#val-close_tbox" class="anchor"></a><code><span><span class="keyword">val</span> close_tbox : <a href="#type-printer0">printer0</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-open_tag"><a href="#val-open_tag" class="anchor"></a><code><span><span class="keyword">val</span> open_tag : <span><a href="#type-stag">stag</a> <a href="#type-printer">printer</a></span></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-close_tag"><a href="#val-close_tag" class="anchor"></a><code><span><span class="keyword">val</span> close_tag : <a href="#type-printer0">printer0</a></span></code></div></div><div class="odoc-spec"><div class="spec value anchored" id="val-list"><a href="#val-list" class="anchor"></a><code><span><span class="keyword">val</span> list : <span><span class="optlabel">?sep</span>:<a href="#type-printer0">printer0</a> <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-iter"><a href="#val-iter" class="anchor"></a><code><span><span class="keyword">val</span> iter :
|
||
<span><span class="optlabel">?sep</span>:<a href="#type-printer0">printer0</a> <span class="arrow">-></span></span>
|
||
<span><span class="label">iter</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-array"><a href="#val-array" class="anchor"></a><code><span><span class="keyword">val</span> array : <span><span class="optlabel">?sep</span>:<a href="#type-printer0">printer0</a> <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-seq"><a href="#val-seq" class="anchor"></a><code><span><span class="keyword">val</span> seq : <span><span class="optlabel">?sep</span>:<a href="#type-printer0">printer0</a> <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-option"><a href="#val-option" class="anchor"></a><code><span><span class="keyword">val</span> option : <span><span class="optlabel">?none</span>:<a href="#type-printer0">printer0</a> <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-result"><a href="#val-result" class="anchor"></a><code><span><span class="keyword">val</span> 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-either"><a href="#val-either" class="anchor"></a><code><span><span class="keyword">val</span> 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></div></body></html>
|