<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Textile" rel="Chapter" href="Textile.html"> <link title="Textile_parser" rel="Chapter" href="Textile_parser.html"> <link title="Textile_html" rel="Chapter" href="Textile_html.html"><title>Textile.string_of_line</title> </head> <body> <code class="code"><span class="keyword">let</span> <span class="keyword">rec</span> string_of_line line =<br> <span class="keyword">let</span> buf = <span class="constructor">Buffer</span>.create 512 <span class="keyword">in</span><br> <span class="keyword">let</span> add = <span class="constructor">Buffer</span>.add_string buf <span class="keyword">in</span><br> <span class="keyword">let</span> <span class="keyword">rec</span> loop = <span class="keyword">function</span><br> <span class="keywordsign">|</span> h::t <span class="keywordsign">-></span> (<span class="keyword">match</span> h <span class="keyword">with</span><br> <span class="keywordsign">|</span> <span class="constructor">CData</span> s <span class="keywordsign">-></span> add s<br> <span class="keywordsign">|</span> <span class="constructor">Emphasis</span> (_, l)<br> <span class="keywordsign">|</span> <span class="constructor">Strong</span> (_, l)<br> <span class="keywordsign">|</span> <span class="constructor">Italic</span> (_, l)<br> <span class="keywordsign">|</span> <span class="constructor">Bold</span> (_, l)<br> <span class="keywordsign">|</span> <span class="constructor">Citation</span> (_, l)<br> <span class="keywordsign">|</span> <span class="constructor">Deleted</span> (_, l)<br> <span class="keywordsign">|</span> <span class="constructor">Inserted</span> (_, l)<br> <span class="keywordsign">|</span> <span class="constructor">Superscript</span> (_, l)<br> <span class="keywordsign">|</span> <span class="constructor">Subscript</span> (_, l)<br> <span class="keywordsign">|</span> <span class="constructor">Span</span> (_, l) <span class="keywordsign">-></span><br> add (string_of_line l)<br> <span class="keywordsign">|</span> <span class="constructor">Acronym</span> (s, _)<br> <span class="keywordsign">|</span> <span class="constructor">Code</span> (_, s) <span class="keywordsign">-></span><br> add s<br> <span class="keywordsign">|</span> <span class="constructor">Notextile</span> s <span class="keywordsign">-></span> <span class="comment">(* TODO: whoops, what we have to do? *)</span><br> add s<br> <span class="keywordsign">|</span> <span class="constructor">Image</span> _ <span class="keywordsign">-></span> ()<br> <span class="keywordsign">|</span> <span class="constructor">Link</span> ((_, l), _, _) <span class="keywordsign">-></span><br> add (string_of_line l)<br> <span class="keywordsign">|</span> <span class="constructor">Reference</span> i <span class="keywordsign">-></span><br> <span class="constructor">Printf</span>.bprintf buf <span class="string">"[%d]"</span> i);<br> loop t<br> <span class="keywordsign">|</span> [] <span class="keywordsign">-></span> <span class="constructor">Buffer</span>.contents buf <span class="keyword">in</span><br> loop line</code></body></html>