misc: intro a vim plugin with better autocomplete
[nit.git] / src / nitdoc.nit
index fcdd045..c1a4851 100644 (file)
 # Generate API documentation in HTML format from nit source code.
 module nitdoc
 
+import modelbuilder
 import doc
 
-var nitdoc = new NitdocContext
-nitdoc.generate_nitdoc
+redef class ToolContext
+       var docphase: Phase = new NitdocPhase(self, null)
+end
 
+private class NitdocPhase
+       super Phase
+       redef fun process_mainmodule(mainmodule, mmodules)
+       do
+               # generate doc
+               var nitdoc = new Nitdoc(toolcontext, mainmodule.model, mainmodule)
+               nitdoc.generate
+       end
+end
+
+# process options
+var toolcontext = new ToolContext
+toolcontext.process_options(args)
+var arguments = toolcontext.option_context.rest
+
+# build model
+var model = new Model
+var mbuilder = new ModelBuilder(model, toolcontext)
+var mmodules = mbuilder.parse_full(arguments)
+
+if mmodules.is_empty then return
+mbuilder.run_phases
+toolcontext.run_global_phases(mmodules)