diff src/main.d @ 807:a2880c95eda3

Refactored ddoc command.
author Aziz K?ksal <aziz.koeksal@gmail.com>
date Sun, 09 Mar 2008 15:28:24 +0100
parents bcb74c9b895c
children 28e1ff1dcfcf
line wrap: on
line diff
--- a/src/main.d	Sun Mar 09 00:12:19 2008 +0100
+++ b/src/main.d	Sun Mar 09 15:28:24 2008 +0100
@@ -68,7 +68,7 @@
       else
         filePaths ~= arg;
     }
-    infoMan = new InfoManager();
+
     foreach (filePath; filePaths)
     {
       auto mod = new Module(filePath, infoMan);
@@ -104,34 +104,29 @@
     if (args.length < 4)
       return printHelp("ddoc");
 
-    auto destination = args[2];
-    auto macroPaths = GlobalSettings.ddocFilePaths;
-    char[][] filePaths;
-    bool incUndoc;
-    bool writeXML;
-    bool verbose;
+    DDocCommand cmd;
+    cmd.destDirPath = args[2];
+    cmd.macroPaths = GlobalSettings.ddocFilePaths;
+    cmd.context = newCompilationContext();
+    cmd.infoMan = infoMan;
+
     // Parse arguments.
-    auto context = newCompilationContext();
     foreach (arg; args[3..$])
     {
-      if (parseDebugOrVersion(arg, context))
+      if (parseDebugOrVersion(arg, cmd.context))
       {}
       else if (arg == "--xml")
-        writeXML = true;
+        cmd.writeXML = true;
       else if (arg == "-i")
-        incUndoc = true;
+        cmd.includeUndocumented = true;
       else if (arg == "-v")
-        verbose = true;
+        cmd.verbose = true;
       else if (arg.length > 5 && icompare(arg[$-4..$], "ddoc") == 0)
-        macroPaths ~= arg;
+        cmd.macroPaths ~= arg;
       else
-        filePaths ~= arg;
+        cmd.filePaths ~= arg;
     }
-
-    infoMan = new InfoManager();
-    // Execute command.
-    cmd.DDoc.execute(filePaths, destination, macroPaths, writeXML,
-                     incUndoc, verbose, context, infoMan);
+    cmd.run();
     infoMan.hasInfo && printErrors(infoMan);
     break;
   case "gen", "generate":