gamnit: make `SpriteSet` public so clients can use its services
[nit.git] / src / nitdoc.nit
index dd7948d..801e715 100644 (file)
@@ -23,6 +23,17 @@ import doc
 redef class ToolContext
        # Nitdoc generation phase.
        var docphase: Phase = new Nitdoc(self, null)
+
+       # Do not generate documentation for attributes.
+       var opt_no_attributes = new OptionBool("Ignore the attributes", "--no-attributes")
+
+       # Do not generate documentation for private properties.
+       var opt_private = new OptionBool("Also generate private API", "--private")
+
+       redef init do
+               super
+               option_context.add_option(opt_no_attributes, opt_private)
+       end
 end
 
 # Nitdoc phase explores the model and generate pages for each mentities found
@@ -31,10 +42,22 @@ private class Nitdoc
        redef fun process_mainmodule(mainmodule, mmodules)
        do
                var doc = new DocModel(mainmodule.model, mainmodule)
+               if not toolcontext.opt_private.value then doc.min_visibility = protected_visibility
+               if not toolcontext.opt_no_attributes.value then doc.include_attribute = false
 
                var phases = [
-                       new ExtractionPhase(toolcontext, doc),
-                       new MakePagePhase(toolcontext, doc): DocPhase]
+                       new IndexingPhase(toolcontext, doc),
+                       new MakePagePhase(toolcontext, doc),
+                       new POSetPhase(toolcontext, doc),
+                       new ConcernsPhase(toolcontext, doc),
+                       new StructurePhase(toolcontext, doc),
+                       new InheritanceListsPhase(toolcontext, doc),
+                       new IntroRedefListPhase(toolcontext, doc),
+                       new LinListPhase(toolcontext, doc),
+                       new GraphPhase(toolcontext, doc),
+                       new ReadmePhase(toolcontext, doc),
+                       new RenderHTMLPhase(toolcontext, doc),
+                       new DocTestPhase(toolcontext, doc): DocPhase]
 
                for phase in phases do
                        toolcontext.info("# {phase.class_name}", 1)