[clang-doc] Update documentation
authorDiego Astiazaran <diegoaat97@gmail.com>
Sat, 3 Aug 2019 02:18:06 +0000 (02:18 +0000)
committerDiego Astiazaran <diegoaat97@gmail.com>
Sat, 3 Aug 2019 02:18:06 +0000 (02:18 +0000)
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

clang-tools-extra/docs/ReleaseNotes.rst
clang-tools-extra/docs/clang-doc.rst

index 25144809b392021acadea32cebeeda0ddf99f296..4095f3d1befe18ff1debd43b9983515ff7d46563 100644 (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
 ---------------------------
index 9612068706089e13b023fa4bebd82f4d3383c6a5..369cdca300255ea190ca33f6155c611bfa3942af 100644 (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``.