Mercurial > projects > dil
view trunk/src/docgen/misc/textutils.d @ 451:3f44c38bf870
Page templates, more flexible writer interfaces, small fixes.
author | Jari-Matti M?kel? <jmjm@iki.fi> |
---|---|
date | Wed, 24 Oct 2007 17:25:52 +0300 |
parents | |
children | 4e5b35df3060 |
line wrap: on
line source
/** * Author: Aziz Köksal & Jari-Matti Mäkelä * License: GPL3 */ module docgen.misc.textutils; import tango.io.model.IConduit; import tango.io.stream.GreedyStream; // copied from Generate.d char[] xml_escape(char[] text) { char[] result; result.length = text.length; foreach(c; text) switch(c) { case '<': result ~= "<"; break; case '>': result ~= ">"; break; case '&': result ~= "&"; break; default: result ~= c; } return result; } class XMLEscapeOutput : GreedyOutput { this (OutputStream stream) { super(stream); } uint write (void[] src) { return super.write( xml_escape(cast(char[])src) ); } } char[] plainTextHeading(char[] s) { char[] line; line.length = 80; line[] = "="; return s ~ \n ~ line[0..s.length].dup ~ \n ~ \n; } char[] plainTextHorizLine(int l = 80) { char[] line; line.length = 80; line[] = "-"; return line[0..l].dup ~ \n; }