diff trunk/src/docgen/misc/options.d @ 473:381044a3feac

Misc fixes & updates.
author Jari-Matti M?kel? <jmjm@iki.fi>
date Thu, 08 Nov 2007 17:44:25 +0200
parents
children cb8edb09108a
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/trunk/src/docgen/misc/options.d	Thu Nov 08 17:44:25 2007 +0200
@@ -0,0 +1,122 @@
+/**
+ * Author: Jari-Matti Mäkelä
+ * License: GPL3
+ */
+module docgen.misc.options;
+
+/** Supported document output formats. */
+enum DocFormat {
+  LaTeX,
+  XML,
+  HTML,
+  PlainText
+}
+
+/**
+ * Supported comment formats.
+ * 
+ * http://www.stack.nl/~dimitri/doxygen/docblocks.html
+ * http://www.digitalmars.com/d/ddoc.html
+ */
+enum CommentFormat {
+  Ddoc,
+  Doxygen
+}
+
+/** Supported image formats. */
+enum ImageFormat {
+  PNG,
+  SVG,
+  GIF,
+  PDF
+}
+
+/** Image format extensions. */
+const imageFormatExts = [ "png", "svg", "gif", "pdf" ];
+
+/** Supported graph writers. */
+enum GraphFormat {
+  Dot,
+  ModuleNames,
+  ModulePaths
+}
+
+struct GraphOptions {
+  /// image format to use for graphs
+  ImageFormat imageFormat;
+  /// maximum depth of dependencies in graphs
+  uint depth;
+  /// color of normal modules
+  char[] nodeColor;
+  /// color of the modules in cyclic dep relation
+  char[] cyclicNodeColor;
+  /// unlocatable module color
+  char[] unlocatableNodeColor;
+  /// color of the dependencies
+  char[] depColor;
+  /// color of the dependencies in cyclic dep relation
+  char[] cyclicDepColor;
+  /// color of the public dependencies
+  char[] publicDepColor;
+  /// package color
+  char[] clusterColor;
+  /// include unlocatable modules to the dep graph
+  bool includeUnlocatableModules;
+  /// highlight imports in cyclic dep relation
+  bool highlightCyclicEdges;
+  /// highlight modules in cyclic dep relation
+  bool highlightCyclicVertices;
+  /// group modules by package names in dep graph
+  bool groupByPackageNames;
+  /// group modules hierarchically or by full package name
+  bool groupByFullPackageName;
+}
+
+struct ListingOptions {
+  /// use literate programming symbols [LaTeX]
+  bool literateStyle;
+  /// enable source code listings
+  bool enableListings;
+}
+
+struct TemplateOptions {
+  /// project title
+  char[] title;
+  /// project version
+  char[] versionString;
+  /// copyright notice
+  char[] copyright;
+  /// paper size [LaTeX]
+  char[] paperSize;
+  /// use short file names [HTML]
+  bool shortFileNames;
+  /// page template style to use, customizable via docgen/templates
+  char[] templateStyle;
+}
+
+struct ParserOptions {
+  /// paths to search for imports 
+  char[][] importPaths;
+  /// paths to "root files"
+  char[][] rootPaths;
+  /// regexps for excluding modules
+  char[][] strRegexps;
+  /// comment format [comment parser]
+  CommentFormat commentFormat;
+  /// maximum depth of dependencies
+  uint depth;
+}
+
+struct DocGeneratorOptions {
+  /// location for the generated output
+  char[] outputDir;
+
+  /// list of document formats to be generated
+  DocFormat[] outputFormats;
+  
+  GraphOptions graph;
+  ListingOptions listing;
+  TemplateOptions templates;
+  ParserOptions parser;
+}
+