Started something preliminary here https://github.com/tiehuis/zig-docgen.
The idea right now is to generate some intermediate form (JSON) and pass that to some existing document generator. Working on writing the tokenizer in zig and a simplistic parser so may have some overlap with #89 eventually.
Exciting!
I envision documentation generation as automatically happening as part of the normal build process. Rust's generated documentation looks great and has a usable search feature. I think doxygen is an example of what not to do.
Maybe as you mentioned, we get started on that self hosted compiler so we can do this feature in userland. As long as we keep the C++ implementation able to build the zig implementation, the bootstrapping process is simple enough.
Also related is the compiler outputting in some way data that is useful for IDEs such as an AST or a type table or something. @thejoshwolfe knows more about the requirements there.
I'm starting to think it might make sense to go ahead and implement this in stage1:
Progress of this is now underway:
-fgenerate-docs to generate doc/ directorydocs/ (plural) renamepub to semantic analysis dumpgenerate
doc/directory
FYI, GitHub has an option to serve HTML from the /docs (plural) directory.
FYI, GitHub has an option to serve HTML from the
/docs(plural) directory.
Hmm, that's a pretty good reason to change it.
Most helpful comment
Progress of this is now underway:
-fgenerate-docsto generatedoc/directorydocs/(plural) renamepubto semantic analysis dump