Mercurial > projects > dil
view trunk/src/docgen/sourcelisting/latexwriter.d @ 448:c82b36b9cadf
Simpler writer hierarchy.
author | Jari-Matti M?kel? <jmjm@iki.fi> |
---|---|
date | Wed, 17 Oct 2007 19:23:56 +0300 |
parents | 0bda71dc9c4f |
children | 757bd048482c |
line wrap: on
line source
/** * Author: Jari-Matti Mäkelä * License: GPL3 */ module docgen.sourcelisting.latexwriter; public import docgen.sourcelisting.writer; import dil.Parser; import tango.io.protocol.Writer : Writer; import tango.io.FileConduit : FileConduit; import tango.io.Buffer : Buffer; import tango.io.Print: Print; import tango.text.convert.Layout : Layout; /** * Adds a code listing section for the given file. */ class LaTeXWriter : AbstractWriter!(ListingWriterFactory, 2), ListingWriter { this(ListingWriterFactory factory, OutputStream[] outputs) { super(factory, outputs); } void generateListing(Parser parser) { auto output2 = new Print!(char)(new Layout!(char), outputs[0]); auto output = new Print!(char)(new Layout!(char), outputs[1]); /* TODO */ } void generateListing(InputStream input) { auto output2 = new Print!(char)(new Layout!(char), outputs[0]); if (cast(FileConduit)outputs[1]) { char[] fn = (cast(FileConduit)outputs[1]).toUtf8(); output2.format("\\lstinputlisting[language=d]{{{0}}", fn); } auto buf = new Buffer(256); buf.output = outputs[1]; buf.copy(input); } }