Index: clang-tools-extra/docs/clang-doc.rst =================================================================== --- clang-tools-extra/docs/clang-doc.rst +++ clang-tools-extra/docs/clang-doc.rst @@ -17,7 +17,7 @@ there. Use -===== +==== :program:`clang-doc` is a `LibTooling `_-based tool, and so requires a @@ -25,19 +25,35 @@ see `How To Setup Tooling For LLVM `_). -The tool can be used on a single file or multiple files as defined in -the compile commands database: +By default, the tool will run on all files listed in the given compile commands +database: .. code-block:: console - $ clang-doc /path/to/file.cpp -p /path/to/compile/commands + $ clang-doc /path/to/compile_commands.json -This generates an intermediate representation of the declarations and their -associated information in the specified TUs, serialized to LLVM bitcode. +Output +======= -As currently implemented, the tool is only able to parse TUs that can be -stored in-memory. Future additions will extend the current framework to use -map-reduce frameworks to allow for use with large codebases. +:program:`clang-doc` produces a directory of documentation. One file is produced +for each namespace and record in the project source code, containing all +documentation (including contained functions, methods, and enums) for that item. + +The top-level directory is configurable through the ``output`` flag: + +.. code-block:: console + + $ clang-doc -output=output/directory/ compile_commands.json + +Configuration +============== + +Configuration for :program:`clang-doc` is currently limited to command-line options. +In the future, it may develop the ability to use a configuration file, but no such +efforts are currently in progress. + +Options +-------- :program:`clang-doc` offers the following options: @@ -57,9 +73,11 @@ clang-doc options: -doxygen - Use only doxygen-style comments to generate docs. - -dump - Dump intermediate results to bitcode file. -extra-arg= - Additional argument to append to the compiler command line -extra-arg-before= - Additional argument to prepend to the compiler command line - -omit-filenames - Omit filenames in output. + -format - Format for outputted docs. + =yaml - Documentation in YAML format. + =md - Documentation in MD format. -output= - Directory for outputting generated files. -p= - Build path + -public - Document only public declarations.