annotate trunk/src/docgen/docgen.d @ 456:de2675bc9afa

Dependency lists, minor cleanup.
author Jari-Matti M?kel? <jmjm@iki.fi>
date Tue, 30 Oct 2007 02:35:56 +0200
parents f92505ad18ab
children 33a4cb255fcc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
395
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
1 /**
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
2 * Author: Jari-Matti Mäkelä
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
3 * License: GPL3
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
4 */
441
13ecfb4278a4 Initial docgen test stuff.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 395
diff changeset
5 module docgen.docgen;
395
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
6
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
7 import docgen.sourcelisting.writers;
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
8 import docgen.document.writers;
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
9 import docgen.graphutils.writers;
446
49f3afd6a0e8 Refactored writers.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 444
diff changeset
10 import docgen.misc.misc;
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
11 import docgen.misc.parser;
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
12 import docgen.config.configurator;
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
13 import tango.core.Array;
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
14 import tango.io.stream.FileStream;
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
15 import tango.text.Ascii;
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
16 import tango.text.Util : replace;
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
17 import tango.io.FilePath;
456
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
18
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
19 import tango.io.Stdout;
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
20
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
21 template DefaultDocGenerator(char[] genDir) {
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
22 abstract class DefaultDocGenerator : DocGenerator {
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
23 DocGeneratorOptions m_options;
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
24 DocumentWriter docWriter;
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
25 GraphWriterFactory graphFactory;
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
26
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
27 Module[] modules;
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
28 Edge[] edges;
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
29 Vertex[char[]] vertices;
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
30
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
31 this(DocGeneratorOptions options) {
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
32 m_options = options;
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
33 graphFactory = new DefaultGraphWriterFactory(this);
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
34
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
35 // create output dir
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
36 (new FilePath(options.outputDir ~ "/" ~ genDir)).create();
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
37 }
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
38
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
39 // TODO: constructor for situations where parsing has happened elsewhere
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
40
456
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
41 protected char[] outPath(char[] file) {
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
42 return options.outputDir ~ "/" ~ genDir ~ "/" ~ file;
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
43 }
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
44
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
45 void parseSources() {
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
46 int id = 1;
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
47
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
48 Parser.loadModules(
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
49 options.parser.rootPaths,
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
50 options.parser.importPaths,
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
51 options.parser.strRegexps,
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
52 options.graph.includeUnlocatableModules,
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
53 options.graph.depth,
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
54 (char[] fqn, char[] path, Module m) {
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
55 if (m is null) {
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
56 if (fqn in vertices) {
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
57 debug Stdout.format("{} already set.\n", fqn);
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
58 return;
453
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
59
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
60 }
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
61 auto vertex = new Vertex(fqn, path, id++);
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
62 vertex.type = VertexType.UnlocatableModule;
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
63 vertices[fqn] = vertex;
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
64 debug Stdout.format("Setting {} = {}.\n", fqn, path);
453
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
65
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
66 } else {
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
67 vertices[m.moduleFQN] = new Vertex(m.moduleFQN, m.filePath, id++);
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
68 debug Stdout.format("Setting {} = {}.\n", m.moduleFQN, m.filePath);
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
69 }
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
70 },
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
71 (Module imported, Module importer) {
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
72 debug Stdout.format("Connecting {} - {}.\n", imported.moduleFQN, importer.moduleFQN);
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
73 edges ~= vertices[imported.moduleFQN].addChild(vertices[importer.moduleFQN]);
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
74 },
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
75 modules
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
76 );
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
77 }
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
78
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
79 void createDepGraph(char[] depGraphFile) {
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
80 auto imgFile = new FileOutput(outPath(depGraphFile));
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
81
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
82 auto writer = graphFactory.createGraphWriter( docWriter, GraphFormat.Dot );
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
83
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
84 writer.generateDepGraph(vertices.values, edges, imgFile);
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
85
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
86 imgFile.close();
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
87 }
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
88
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
89 public DocGeneratorOptions *options() {
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
90 return &m_options;
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
91 }
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
92 }
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
93 }
395
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
94
456
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
95 class HTMLDocGenerator : DefaultDocGenerator!("html") {
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
96 this(DocGeneratorOptions options) {
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
97 super(options);
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
98 }
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
99 public void generate() { /* TODO */ }
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
100 }
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
101 class XMLDocGenerator : DefaultDocGenerator!("xml") {
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
102 this(DocGeneratorOptions options) {
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
103 super(options);
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
104 }
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
105 public void generate() { /* TODO */ }
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
106 }
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
107 class PlainTextDocGenerator : DefaultDocGenerator!("txt") {
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
108 this(DocGeneratorOptions options) {
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
109 super(options);
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
110 }
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
111 public void generate() { /* TODO */ }
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
112 }
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
113
395
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
114 /**
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
115 * Main routine for LaTeX doc generation.
395
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
116 */
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
117 class LaTeXDocGenerator : DefaultDocGenerator!("latex") {
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
118 this(DocGeneratorOptions options) {
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
119 super(options);
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
120 }
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
121
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
122 /**
453
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
123 * Generates document skeleton.
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
124 */
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
125 void generateDoc(char[] docFileName) {
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
126 auto ddf = new DefaultDocumentWriterFactory(this);
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
127
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
128 auto docFile = new FileOutput(outPath(docFileName));
454
dbdc9fa5d479 depgraph fixes, better design for multiple doctargets.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 453
diff changeset
129 docWriter = ddf.createDocumentWriter( [ docFile ], DocFormat.LaTeX );
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
130
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
131 docWriter.generateFirstPage();
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
132 docWriter.generateTOC(modules);
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
133 docWriter.generateModuleSection();
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
134 docWriter.generateListingSection();
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
135 docWriter.generateDepGraphSection();
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
136 docWriter.generateIndexSection();
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
137 docWriter.generateLastPage();
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
138
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
139 docFile.close();
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
140 }
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
141
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
142 /**
453
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
143 * Generates D language definition file.
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
144 */
453
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
145 void generateLangDef() {
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
146 auto docFile = new FileOutput(outPath("lstlang0.sty"));
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
147 docWriter.setOutput([docFile]);
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
148
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
149 docWriter.generateLangDef();
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
150
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
151 docFile.close();
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
152 }
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
153
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
154 /**
453
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
155 * Generates "makefile" for processing the .dot and .tex files.
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
156 */
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
157 void generateMakeFile() {
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
158 auto docFile = new FileOutput(outPath("make.sh"));
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
159 docWriter.setOutput([docFile]);
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
160
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
161 docWriter.generateMakeFile();
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
162
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
163 docFile.close();
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
164 }
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
165
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
166 /**
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
167 * Generates documentation for modules.
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
168 */
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
169 void generateModules(char[] modulesFile) {
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
170 auto docFile = new FileOutput(outPath(modulesFile));
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
171 docFile.close();
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
172 }
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
173
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
174 /**
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
175 * Generates source file listings.
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
176 */
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
177 void generateListings(char[] listingsFile) {
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
178 auto dlwf = new DefaultListingWriterFactory(this);
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
179 auto docFile = new FileOutput(outPath(listingsFile));
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
180 docWriter.setOutput([docFile]);
454
dbdc9fa5d479 depgraph fixes, better design for multiple doctargets.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 453
diff changeset
181 auto writer = dlwf.createListingWriter(docWriter, DocFormat.LaTeX);
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
182
453
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
183 /*modules.sort(
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
184 (Module a, Module b){ return icompare(a.moduleFQN, b.moduleFQN); }
453
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
185 );*/
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
186
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
187 foreach(mod; modules) {
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
188 auto dstFname = replace(mod.moduleFQN.dup, '.', '_') ~ ".d";
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
189
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
190 auto srcFile = new FileInput(mod.filePath);
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
191 auto dstFile = new FileOutput(outPath(dstFname));
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
192
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
193 writer.generateListing(srcFile, dstFile, mod.moduleFQN);
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
194
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
195 srcFile.close();
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
196 dstFile.close();
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
197 }
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
198
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
199 docFile.close();
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
200 }
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
201
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
202 /**
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
203 * Generates dependency graphs.
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
204 */
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
205 void generateDependencies(char[] depGraphTexFile, char[] depGraphFile) {
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
206 auto docFile = new FileOutput(outPath(depGraphTexFile));
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
207 docWriter.setOutput([docFile]);
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
208
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
209 createDepGraph(depGraphFile);
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
210
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
211 docFile.close();
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
212 }
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
213
446
49f3afd6a0e8 Refactored writers.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 444
diff changeset
214 public void generate() {
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
215 auto docFileName = "document.tex";
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
216 auto depGraphTexFile = "dependencies.tex";
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
217 auto depGraphFile = "depgraph.dot";
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
218 auto listingFile = "files.tex";
453
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
219 auto modulesFile = "modules.tex";
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
220
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
221 parseSources();
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
222
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
223 generateDoc(docFileName);
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
224
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
225 if (options.listing.enableListings)
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
226 generateListings(listingFile);
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
227
453
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
228 generateModules(modulesFile);
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
229
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
230 generateDependencies(depGraphTexFile, depGraphFile);
395
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
231
453
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
232 generateLangDef();
4e5b35df3060 Parsing bugfixes, cleaned up imports.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 452
diff changeset
233 generateMakeFile();
395
ac9cd48151b6 Added couple of docgen modules.
Jari-Matti M?kel? <jmjm@iki.fi>
parents:
diff changeset
234 }
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
235 }
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
236
456
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
237 void usage() {
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
238 Stdout(
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
239 "Usage: docgen rootpath importpath_1 ... importpath_n outputdir"
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
240 ).newline;
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
241 }
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
242
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
243 void main(char[][] args) {
456
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
244 Stdout(docgen_version).newline.newline;
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
245
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
246 if (args.length<3) {
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
247 usage();
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
248 return;
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
249 }
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
250
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
251 Configurator config = new DefaultConfigurator();
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
252
455
f92505ad18ab Simple configuration reader, small modifications.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 454
diff changeset
253 auto options = config.getConfiguration();
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
254 options.parser.rootPaths = [ args[1] ];
456
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
255 options.parser.importPaths = args[2..$-1];
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
256 options.outputDir = args[$-1];
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
257
456
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
258 foreach(format; options.outputFormats) {
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
259 switch(format) {
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
260 case DocFormat.LaTeX:
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
261 auto generator = new LaTeXDocGenerator(*options);
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
262 Stdout("Generating LaTeX docs..");
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
263 generator.generate();
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
264 Stdout("done.").newline;
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
265 break;
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
266 case DocFormat.HTML:
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
267 auto generator = new HTMLDocGenerator(*options);
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
268 Stdout("Generating HTML docs..");
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
269 generator.generate();
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
270 Stdout("done.").newline;
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
271 break;
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
272 case DocFormat.XML:
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
273 auto generator = new XMLDocGenerator(*options);
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
274 Stdout("Generating XML docs..");
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
275 generator.generate();
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
276 Stdout("done.").newline;
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
277 break;
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
278 case DocFormat.PlainText:
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
279 auto generator = new PlainTextDocGenerator(*options);
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
280 Stdout("Generating plain text docs..");
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
281 generator.generate();
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
282 Stdout("done.").newline;
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
283 break;
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
284 }
de2675bc9afa Dependency lists, minor cleanup.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 455
diff changeset
285 }
452
f658ec4a15dd Simple docgen ui util, some fixes.
Jari-Matti M?kel? <jmjm@iki.fi>
parents: 446
diff changeset
286 }