[PATCH] D65622: [clang-doc] Update documentation

Diego Astiazarán via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 1 16:56:54 PDT 2019

DiegoAstiazaran created this revision.
DiegoAstiazaran added reviewers: jakehehrlich, juliehockett.
DiegoAstiazaran added a project: clang-tools-extra.

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



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 @@
 :program:`clang-doc` is a `LibTooling
 <https://clang.llvm.org/docs/LibTooling.html>`_-based tool, and so requires a
@@ -25,19 +25,42 @@
 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
 .. 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
+: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 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.
 :program:`clang-doc` offers the following options:
@@ -60,6 +83,11 @@
     -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.
Index: clang-tools-extra/docs/ReleaseNotes.rst
--- clang-tools-extra/docs/ReleaseNotes.rst
+++ clang-tools-extra/docs/ReleaseNotes.rst
@@ -52,7 +52,7 @@
 Improvements to clang-doc
-The improvements are...
+- :doc:`clang-doc <clang-doc>` now generates documentation in HTML format.
 Improvements to clang-query

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D65622.212934.patch
Type: text/x-patch
Size: 3419 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190801/bad19562/attachment.bin>

More information about the cfe-commits mailing list