[clang-doc] Update documentation

HTML generator has been included in clang-tools-extra release notes.
clang-doc documentation file has been updated.

Differential Revision: https://reviews.llvm.org/D65622

llvm-svn: 367743
This commit is contained in:
Diego Astiazaran 2019-08-03 02:18:06 +00:00
parent 38136d3b96
commit 7900905f76
2 changed files with 41 additions and 11 deletions

View File

@ -52,7 +52,7 @@ The improvements are...
Improvements to clang-doc
-------------------------
The improvements are...
- :doc:`clang-doc <clang-doc>` now generates documentation in HTML format.
Improvements to clang-query
---------------------------

View File

@ -17,7 +17,7 @@ project. If you have any ideas or suggestions, please to put a feature request
there.
Use
=====
===
:program:`clang-doc` is a `LibTooling
<https://clang.llvm.org/docs/LibTooling.html>`_-based tool, and so requires a
@ -25,19 +25,42 @@ compile command database for your project (for an example of how to do this
see `How To Setup Tooling For LLVM
<https://clang.llvm.org/docs/HowToSetupToolingForLLVM.html>`_).
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.
The tool can also be used on a single file or multiple files if a build path is
passed with the ``-p`` flag.
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.
.. code-block:: console
$ clang-doc /path/to/file.cpp -p /path/to/build
Output
======
: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:
@ -60,6 +83,13 @@ map-reduce frameworks to allow for use with large codebases.
-dump - Dump intermediate results to bitcode file.
-extra-arg=<string> - Additional argument to append to the compiler command line
-extra-arg-before=<string> - Additional argument to prepend to the compiler command line
-omit-filenames - Omit filenames in output.
--format=<value> - Format for outputted docs.
=yaml - Documentation in YAML format.
=md - Documentation in MD format.
=html - Documentation in HTML format.
-output=<string> - Directory for outputting generated files.
-p=<string> - Build path
--public - Document only public declarations.
--stylesheets=<string> - CSS stylesheets to extend the default styles.
``stylesheets`` should only be used if ``format`` is set to ``html``.