Mercurial > projects > dil
view trunk/src/docgen/sourcelisting/writers.d @ 395:ac9cd48151b6
Added couple of docgen modules.
author | Jari-Matti M?kel? <jmjm@iki.fi> |
---|---|
date | Wed, 19 Sep 2007 23:12:20 +0300 |
parents | |
children | 0bda71dc9c4f |
line wrap: on
line source
/** * Author: Jari-Matti Mäkelä * License: GPL3 */ module docgen.sourcelisting.writers; public import docgen.sourcelisting.writer; import dil.Parser; class DefaultListingWriterFactory : AbstractListingWriterFactory { this(ListingOptions options) { m_options = options; } ListingWriter createListingWriter(OutputStream[] outputs) { switch (m_options.docFormat) { case DocFormat.LaTeX: return new LaTeXWriter(this, outputs); case DocFormat.XML: return new XMLWriter(this, outputs); case DocFormat.HTML: return new HTMLWriter(this, outputs); case DocFormat.PlainText: return new PlainTextWriter(this, outputs); } } } /** * TODO */ class LaTeXWriter : AbstractListingWriter { this(ListingWriterFactory factory, OutputStream[] outputs) { super(factory, outputs); assert(outputs.length == 2, "Wrong number of outputs"); } void generateListing(Parser parser) { /* TODO */ } void generateListing(InputStream input) { /* TODO */ } } /** * TODO */ class XMLWriter : AbstractListingWriter { this(ListingWriterFactory factory, OutputStream[] outputs) { super(factory, outputs); assert(outputs.length == 2, "Wrong number of outputs"); } void generateListing(Parser parser) { /* TODO */ } void generateListing(InputStream input) { /* TODO */ } } /** * TODO: add support for html/xml/latex? */ class HTMLWriter : AbstractListingWriter { this(ListingWriterFactory factory, OutputStream[] outputs) { super(factory, outputs); assert(outputs.length == 2, "Wrong number of outputs"); } void generateListing(Parser parser) { /* TODO */ } void generateListing(InputStream input) { /* TODO */ } } /** * TODO */ class PlainTextWriter : AbstractListingWriter { this(ListingWriterFactory factory, OutputStream[] outputs) { super(factory, outputs); assert(outputs.length == 2, "Wrong number of outputs"); } void generateListing(Parser parser) { /* TODO */ } void generateListing(InputStream input) { /* TODO */ } }