Skip to content

[clang-doc] generate comments for functions #150468

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

evelez7
Copy link
Member

@evelez7 evelez7 commented Jul 24, 2025

Change the function partial to enable comments to be generated for
functions. This only enables the brief comments in the basic project.

@evelez7 evelez7 marked this pull request as ready for review July 24, 2025 17:12
@llvmbot
Copy link
Member

llvmbot commented Jul 24, 2025

@llvm/pr-subscribers-clang-tools-extra

Author: Erick Velez (evelez7)

Changes

Change the function partial to enable comments to be generated for
functions. This only enables the brief comments in the basic project.


Full diff: https://github.com/llvm/llvm-project/pull/150468.diff

2 Files Affected:

  • (modified) clang-tools-extra/clang-doc/assets/function-template.mustache (+2-2)
  • (modified) clang-tools-extra/test/clang-doc/basic-project.mustache.test (+151-151)
diff --git a/clang-tools-extra/clang-doc/assets/function-template.mustache b/clang-tools-extra/clang-doc/assets/function-template.mustache
index 6683afa03ea43..2510a4de2cd68 100644
--- a/clang-tools-extra/clang-doc/assets/function-template.mustache
+++ b/clang-tools-extra/clang-doc/assets/function-template.mustache
@@ -14,10 +14,10 @@
             </code>
         </pre>
         {{! Function Comments }}
-        {{#FunctionComments}}
+        {{#Description}}
         <div>
             {{>Comments}}
         </div>
-        {{/FunctionComments}}
+        {{/Description}}
     </div>
 </div>
diff --git a/clang-tools-extra/test/clang-doc/basic-project.mustache.test b/clang-tools-extra/test/clang-doc/basic-project.mustache.test
index 7cc32b9d8f08a..4cf8bad32fd9d 100644
--- a/clang-tools-extra/test/clang-doc/basic-project.mustache.test
+++ b/clang-tools-extra/test/clang-doc/basic-project.mustache.test
@@ -83,17 +83,17 @@ HTML-SHAPE:             <code class="language-cpp code-clang-doc">
 HTML-SHAPE: double area ()
 HTML-SHAPE:             </code>
 HTML-SHAPE:         </pre>
-HTML-SHAPE-NOT:        <div>
-HTML-SHAPE-NOT:                        <div>
-HTML-SHAPE-NOT:                            <p> Calculates the area of the shape.</p>
-HTML-SHAPE-NOT:                        </div>
-HTML-SHAPE-NOT:                            <div>
-HTML-SHAPE-NOT:                        <p></p>
-HTML-SHAPE-NOT:                    </div>
-HTML-SHAPE-NOT:                        <div>
-HTML-SHAPE-NOT:                        <p></p>
-HTML-SHAPE-NOT:                    </div>
-HTML-SHAPE-NOT:                        </div>
+HTML-SHAPE:        <div>
+HTML-SHAPE:                        <div>
+HTML-SHAPE:                            <p> Calculates the area of the shape.</p>
+HTML-SHAPE:                        </div>
+HTML-SHAPE:                            <div>
+HTML-SHAPE:                        <p></p>
+HTML-SHAPE:                    </div>
+HTML-SHAPE:                        <div>
+HTML-SHAPE:                        <p></p>
+HTML-SHAPE:                    </div>
+HTML-SHAPE:                        </div>
 HTML-SHAPE:     </div>
 HTML-SHAPE: </div>
 HTML-SHAPE: <div class="delimiter-container">
@@ -103,17 +103,17 @@ HTML-SHAPE:             <code class="language-cpp code-clang-doc">
 HTML-SHAPE: double perimeter ()
 HTML-SHAPE:             </code>
 HTML-SHAPE:         </pre>
-HTML-SHAPE-NOT:        <div>
-HTML-SHAPE-NOT:                        <div>
-HTML-SHAPE-NOT:                            <p> Calculates the perimeter of the shape.</p>
-HTML-SHAPE-NOT:                        </div>
-HTML-SHAPE-NOT:                            <div>
-HTML-SHAPE-NOT:                        <p></p>
-HTML-SHAPE-NOT:                    </div>
-HTML-SHAPE-NOT:                        <div>
-HTML-SHAPE-NOT:                        <p></p>
-HTML-SHAPE-NOT:                    </div>
-HTML-SHAPE-NOT:                        </div>
+HTML-SHAPE:        <div>
+HTML-SHAPE:                        <div>
+HTML-SHAPE:                            <p> Calculates the perimeter of the shape.</p>
+HTML-SHAPE:                        </div>
+HTML-SHAPE:                            <div>
+HTML-SHAPE:                        <p></p>
+HTML-SHAPE:                    </div>
+HTML-SHAPE:                        <div>
+HTML-SHAPE:                        <p></p>
+HTML-SHAPE:                    </div>
+HTML-SHAPE:                        </div>
 HTML-SHAPE:     </div>
 HTML-SHAPE: </div>
 HTML-SHAPE: <div class="delimiter-container">
@@ -123,14 +123,14 @@ HTML-SHAPE:             <code class="language-cpp code-clang-doc">
 HTML-SHAPE: void ~Shape ()
 HTML-SHAPE:             </code>
 HTML-SHAPE:         </pre>
-HTML-SHAPE-NOT:        <div>
-HTML-SHAPE-NOT:                        <div>
-HTML-SHAPE-NOT:                            <p> Virtual destructor.</p>
-HTML-SHAPE-NOT:                        </div>
-HTML-SHAPE-NOT:                            <div>
-HTML-SHAPE-NOT:                        <p></p>
-HTML-SHAPE-NOT:                    </div>
-HTML-SHAPE-NOT:                        </div>
+HTML-SHAPE:        <div>
+HTML-SHAPE:                        <div>
+HTML-SHAPE:                            <p> Virtual destructor.</p>
+HTML-SHAPE:                        </div>
+HTML-SHAPE:                            <div>
+HTML-SHAPE:                        <p></p>
+HTML-SHAPE:                    </div>
+HTML-SHAPE:                        </div>
 HTML-SHAPE:     </div>
 HTML-SHAPE: </div>
 HTML-SHAPE: </div>
@@ -250,17 +250,17 @@ HTML-CALC:             <code class="language-cpp code-clang-doc">
 HTML-CALC: int add (int a, int b)
 HTML-CALC:             </code>
 HTML-CALC:         </pre>
-HTML-CALC-NOT:        <div>
-HTML-CALC-NOT:                        <div>
-HTML-CALC-NOT:                            <p> Adds two integers.</p>
-HTML-CALC-NOT:                        </div>
-HTML-CALC-NOT:                            <div>
-HTML-CALC-NOT:                        <p></p>
-HTML-CALC-NOT:                    </div>
-HTML-CALC-NOT:                        <div>
-HTML-CALC-NOT:                        <p></p>
-HTML-CALC-NOT:                    </div>
-HTML-CALC-NOT:                        </div>
+HTML-CALC:        <div>
+HTML-CALC:                        <div>
+HTML-CALC:                            <p> Adds two integers.</p>
+HTML-CALC:                        </div>
+HTML-CALC:                            <div>
+HTML-CALC:                        <p></p>
+HTML-CALC:                    </div>
+HTML-CALC:                        <div>
+HTML-CALC:                        <p></p>
+HTML-CALC:                    </div>
+HTML-CALC:                        </div>
 HTML-CALC:     </div>
 HTML-CALC: </div>
 HTML-CALC: <div class="delimiter-container">
@@ -270,17 +270,17 @@ HTML-CALC:             <code class="language-cpp code-clang-doc">
 HTML-CALC: int subtract (int a, int b)
 HTML-CALC:             </code>
 HTML-CALC:         </pre>
-HTML-CALC-NOT:        <div>
-HTML-CALC-NOT:                        <div>
-HTML-CALC-NOT:                            <p> Subtracts the second integer from the first.</p>
-HTML-CALC-NOT:                        </div>
-HTML-CALC-NOT:                            <div>
-HTML-CALC-NOT:                        <p></p>
-HTML-CALC-NOT:                    </div>
-HTML-CALC-NOT:                        <div>
-HTML-CALC-NOT:                        <p></p>
-HTML-CALC-NOT:                    </div>
-HTML-CALC-NOT:                        </div>
+HTML-CALC:        <div>
+HTML-CALC:                        <div>
+HTML-CALC:                            <p> Subtracts the second integer from the first.</p>
+HTML-CALC:                        </div>
+HTML-CALC:                            <div>
+HTML-CALC:                        <p></p>
+HTML-CALC:                    </div>
+HTML-CALC:                        <div>
+HTML-CALC:                        <p></p>
+HTML-CALC:                    </div>
+HTML-CALC:                        </div>
 HTML-CALC:     </div>
 HTML-CALC: </div>
 HTML-CALC: <div class="delimiter-container">
@@ -290,17 +290,17 @@ HTML-CALC:             <code class="language-cpp code-clang-doc">
 HTML-CALC: int multiply (int a, int b)
 HTML-CALC:             </code>
 HTML-CALC:         </pre>
-HTML-CALC-NOT:        <div>
-HTML-CALC-NOT:                        <div>
-HTML-CALC-NOT:                            <p> Multiplies two integers.</p>
-HTML-CALC-NOT:                        </div>
-HTML-CALC-NOT:                            <div>
-HTML-CALC-NOT:                        <p></p>
-HTML-CALC-NOT:                    </div>
-HTML-CALC-NOT:                        <div>
-HTML-CALC-NOT:                        <p></p>
-HTML-CALC-NOT:                    </div>
-HTML-CALC-NOT:                        </div>
+HTML-CALC:        <div>
+HTML-CALC:                        <div>
+HTML-CALC:                            <p> Multiplies two integers.</p>
+HTML-CALC:                        </div>
+HTML-CALC:                            <div>
+HTML-CALC:                        <p></p>
+HTML-CALC:                    </div>
+HTML-CALC:                        <div>
+HTML-CALC:                        <p></p>
+HTML-CALC:                    </div>
+HTML-CALC:                        </div>
 HTML-CALC:     </div>
 HTML-CALC: </div>
 HTML-CALC: <div class="delimiter-container">
@@ -310,17 +310,17 @@ HTML-CALC:             <code class="language-cpp code-clang-doc">
 HTML-CALC: double divide (int a, int b)
 HTML-CALC:             </code>
 HTML-CALC:         </pre>
-HTML-CALC-NOT:        <div>
-HTML-CALC-NOT:                        <div>
-HTML-CALC-NOT:                            <p> Divides the first integer by the second.</p>
-HTML-CALC-NOT:                        </div>
-HTML-CALC-NOT:                            <div>
-HTML-CALC-NOT:                        <p></p>
-HTML-CALC-NOT:                    </div>
-HTML-CALC-NOT:                        <div>
-HTML-CALC-NOT:                        <p></p>
-HTML-CALC-NOT:                    </div>
-HTML-CALC-NOT:                        </div>
+HTML-CALC:        <div>
+HTML-CALC:                        <div>
+HTML-CALC:                            <p> Divides the first integer by the second.</p>
+HTML-CALC:                        </div>
+HTML-CALC:                            <div>
+HTML-CALC:                        <p></p>
+HTML-CALC:                    </div>
+HTML-CALC:                        <div>
+HTML-CALC:                        <p></p>
+HTML-CALC:                    </div>
+HTML-CALC:                        </div>
 HTML-CALC:     </div>
 HTML-CALC: </div>
 HTML-CALC: <div class="delimiter-container">
@@ -330,17 +330,17 @@ HTML-CALC:             <code class="language-cpp code-clang-doc">
 HTML-CALC: int mod (int a, int b)
 HTML-CALC:             </code>
 HTML-CALC:         </pre>
-HTML-CALC-NOT:        <div>
-HTML-CALC-NOT:                        <div>
-HTML-CALC-NOT:                            <p> Performs the mod operation on integers.</p>
-HTML-CALC-NOT:                        </div>
-HTML-CALC-NOT:                            <div>
-HTML-CALC-NOT:                        <p></p>
-HTML-CALC-NOT:                    </div>
-HTML-CALC-NOT:                        <div>
-HTML-CALC-NOT:                        <p></p>
-HTML-CALC-NOT:                    </div>
-HTML-CALC-NOT:                        </div>
+HTML-CALC:        <div>
+HTML-CALC:                        <div>
+HTML-CALC:                            <p> Performs the mod operation on integers.</p>
+HTML-CALC:                        </div>
+HTML-CALC:                            <div>
+HTML-CALC:                        <p></p>
+HTML-CALC:                    </div>
+HTML-CALC:                        <div>
+HTML-CALC:                        <p></p>
+HTML-CALC:                    </div>
+HTML-CALC:                        </div>
 HTML-CALC:     </div>
 HTML-CALC: </div>
 HTML-CALC: </div>
@@ -429,17 +429,17 @@ HTML-RECTANGLE:             <code class="language-cpp code-clang-doc">
 HTML-RECTANGLE: void Rectangle (double width, double height)
 HTML-RECTANGLE:             </code>
 HTML-RECTANGLE:         </pre>
-HTML-RECTANGLE-NOT:        <div>
-HTML-RECTANGLE-NOT:                        <div>
-HTML-RECTANGLE-NOT:                            <p> Constructs a new Rectangle object.</p>
-HTML-RECTANGLE-NOT:                        </div>
-HTML-RECTANGLE-NOT:                            <div>
-HTML-RECTANGLE-NOT:                        <p></p>
-HTML-RECTANGLE-NOT:                    </div>
-HTML-RECTANGLE-NOT:                        <div>
-HTML-RECTANGLE-NOT:                        <p></p>
-HTML-RECTANGLE-NOT:                    </div>
-HTML-RECTANGLE-NOT:                        </div>
+HTML-RECTANGLE:        <div>
+HTML-RECTANGLE:                        <div>
+HTML-RECTANGLE:                            <p> Constructs a new Rectangle object.</p>
+HTML-RECTANGLE:                        </div>
+HTML-RECTANGLE:                            <div>
+HTML-RECTANGLE:                        <p></p>
+HTML-RECTANGLE:                    </div>
+HTML-RECTANGLE:                        <div>
+HTML-RECTANGLE:                        <p></p>
+HTML-RECTANGLE:                    </div>
+HTML-RECTANGLE:                        </div>
 HTML-RECTANGLE:     </div>
 HTML-RECTANGLE: </div>
 HTML-RECTANGLE: <div class="delimiter-container">
@@ -449,17 +449,17 @@ HTML-RECTANGLE:             <code class="language-cpp code-clang-doc">
 HTML-RECTANGLE: double area ()
 HTML-RECTANGLE:             </code>
 HTML-RECTANGLE:         </pre>
-HTML-RECTANGLE-NOT:        <div>
-HTML-RECTANGLE-NOT:                        <div>
-HTML-RECTANGLE-NOT:                            <p> Calculates the area of the rectangle.</p>
-HTML-RECTANGLE-NOT:                        </div>
-HTML-RECTANGLE-NOT:                            <div>
-HTML-RECTANGLE-NOT:                        <p></p>
-HTML-RECTANGLE-NOT:                    </div>
-HTML-RECTANGLE-NOT:                        <div>
-HTML-RECTANGLE-NOT:                        <p></p>
-HTML-RECTANGLE-NOT:                    </div>
-HTML-RECTANGLE-NOT:                        </div>
+HTML-RECTANGLE:        <div>
+HTML-RECTANGLE:                        <div>
+HTML-RECTANGLE:                            <p> Calculates the area of the rectangle.</p>
+HTML-RECTANGLE:                        </div>
+HTML-RECTANGLE:                            <div>
+HTML-RECTANGLE:                        <p></p>
+HTML-RECTANGLE:                    </div>
+HTML-RECTANGLE:                        <div>
+HTML-RECTANGLE:                        <p></p>
+HTML-RECTANGLE:                    </div>
+HTML-RECTANGLE:                        </div>
 HTML-RECTANGLE:     </div>
 HTML-RECTANGLE: </div>
 HTML-RECTANGLE: <div class="delimiter-container">
@@ -469,17 +469,17 @@ HTML-RECTANGLE:             <code class="language-cpp code-clang-doc">
 HTML-RECTANGLE: double perimeter ()
 HTML-RECTANGLE:             </code>
 HTML-RECTANGLE:         </pre>
-HTML-RECTANGLE-NOT:        <div>
-HTML-RECTANGLE-NOT:                        <div>
-HTML-RECTANGLE-NOT:                            <p> Calculates the perimeter of the rectangle.</p>
-HTML-RECTANGLE-NOT:                        </div>
-HTML-RECTANGLE-NOT:                            <div>
-HTML-RECTANGLE-NOT:                        <p></p>
-HTML-RECTANGLE-NOT:                    </div>
-HTML-RECTANGLE-NOT:                        <div>
-HTML-RECTANGLE-NOT:                        <p></p>
-HTML-RECTANGLE-NOT:                    </div>
-HTML-RECTANGLE-NOT:                        </div>
+HTML-RECTANGLE:        <div>
+HTML-RECTANGLE:                        <div>
+HTML-RECTANGLE:                            <p> Calculates the perimeter of the rectangle.</p>
+HTML-RECTANGLE:                        </div>
+HTML-RECTANGLE:                            <div>
+HTML-RECTANGLE:                        <p></p>
+HTML-RECTANGLE:                    </div>
+HTML-RECTANGLE:                        <div>
+HTML-RECTANGLE:                        <p></p>
+HTML-RECTANGLE:                    </div>
+HTML-RECTANGLE:                        </div>
 HTML-RECTANGLE:     </div>
 HTML-RECTANGLE: </div>
 HTML-RECTANGLE: </div>
@@ -568,17 +568,17 @@ HTML-CIRCLE:             <code class="language-cpp code-clang-doc">
 HTML-CIRCLE: void Circle (double radius)
 HTML-CIRCLE:             </code>
 HTML-CIRCLE:         </pre>
-HTML-CIRCLE-NOT:        <div>
-HTML-CIRCLE-NOT:                        <div>
-HTML-CIRCLE-NOT:                            <p> Constructs a new Circle object.</p>
-HTML-CIRCLE-NOT:                        </div>
-HTML-CIRCLE-NOT:                            <div>
-HTML-CIRCLE-NOT:                        <p></p>
-HTML-CIRCLE-NOT:                    </div>
-HTML-CIRCLE-NOT:                        <div>
-HTML-CIRCLE-NOT:                        <p></p>
-HTML-CIRCLE-NOT:                    </div>
-HTML-CIRCLE-NOT:                        </div>
+HTML-CIRCLE:        <div>
+HTML-CIRCLE:                        <div>
+HTML-CIRCLE:                            <p> Constructs a new Circle object.</p>
+HTML-CIRCLE:                        </div>
+HTML-CIRCLE:                            <div>
+HTML-CIRCLE:                        <p></p>
+HTML-CIRCLE:                    </div>
+HTML-CIRCLE:                        <div>
+HTML-CIRCLE:                        <p></p>
+HTML-CIRCLE:                    </div>
+HTML-CIRCLE:                        </div>
 HTML-CIRCLE:     </div>
 HTML-CIRCLE: </div>
 HTML-CIRCLE: <div class="delimiter-container">
@@ -588,17 +588,17 @@ HTML-CIRCLE:             <code class="language-cpp code-clang-doc">
 HTML-CIRCLE: double area ()
 HTML-CIRCLE:             </code>
 HTML-CIRCLE:         </pre>
-HTML-CIRCLE-NOT:        <div>
-HTML-CIRCLE-NOT:                        <div>
-HTML-CIRCLE-NOT:                            <p> Calculates the area of the circle.</p>
-HTML-CIRCLE-NOT:                        </div>
-HTML-CIRCLE-NOT:                            <div>
-HTML-CIRCLE-NOT:                        <p></p>
-HTML-CIRCLE-NOT:                    </div>
-HTML-CIRCLE-NOT:                        <div>
-HTML-CIRCLE-NOT:                        <p></p>
-HTML-CIRCLE-NOT:                    </div>
-HTML-CIRCLE-NOT:                        </div>
+HTML-CIRCLE:        <div>
+HTML-CIRCLE:                        <div>
+HTML-CIRCLE:                            <p> Calculates the area of the circle.</p>
+HTML-CIRCLE:                        </div>
+HTML-CIRCLE:                            <div>
+HTML-CIRCLE:                        <p></p>
+HTML-CIRCLE:                    </div>
+HTML-CIRCLE:                        <div>
+HTML-CIRCLE:                        <p></p>
+HTML-CIRCLE:                    </div>
+HTML-CIRCLE:                        </div>
 HTML-CIRCLE:     </div>
 HTML-CIRCLE: </div>
 HTML-CIRCLE: <div class="delimiter-container">
@@ -608,17 +608,17 @@ HTML-CIRCLE:             <code class="language-cpp code-clang-doc">
 HTML-CIRCLE: double perimeter ()
 HTML-CIRCLE:             </code>
 HTML-CIRCLE:         </pre>
-HTML-CIRCLE-NOT:        <div>
-HTML-CIRCLE-NOT:                        <div>
-HTML-CIRCLE-NOT:                            <p> Calculates the perimeter of the circle.</p>
-HTML-CIRCLE-NOT:                        </div>
-HTML-CIRCLE-NOT:                            <div>
-HTML-CIRCLE-NOT:                        <p></p>
-HTML-CIRCLE-NOT:                    </div>
-HTML-CIRCLE-NOT:                        <div>
-HTML-CIRCLE-NOT:                        <p></p>
-HTML-CIRCLE-NOT:                    </div>
-HTML-CIRCLE-NOT:                        </div>
+HTML-CIRCLE:        <div>
+HTML-CIRCLE:                        <div>
+HTML-CIRCLE:                            <p> Calculates the perimeter of the circle.</p>
+HTML-CIRCLE:                        </div>
+HTML-CIRCLE:                            <div>
+HTML-CIRCLE:                        <p></p>
+HTML-CIRCLE:                    </div>
+HTML-CIRCLE:                        <div>
+HTML-CIRCLE:                        <p></p>
+HTML-CIRCLE:                    </div>
+HTML-CIRCLE:                        </div>
 HTML-CIRCLE:     </div>
 HTML-CIRCLE: </div>
 HTML-CIRCLE: </div>

@evelez7 evelez7 force-pushed the users/evelez7/clang-doc-precommit-function-comments branch from a46cb87 to c78c62c Compare July 25, 2025 01:39
@evelez7 evelez7 force-pushed the users/evelez7/clang-doc-function-comments branch from 5d9ea9d to 7ca4dab Compare July 25, 2025 01:40
@evelez7 evelez7 force-pushed the users/evelez7/clang-doc-precommit-function-comments branch from c78c62c to 98d3e58 Compare July 25, 2025 02:18
@evelez7 evelez7 force-pushed the users/evelez7/clang-doc-function-comments branch from 7ca4dab to 47d132b Compare July 25, 2025 02:19
@evelez7 evelez7 force-pushed the users/evelez7/clang-doc-precommit-function-comments branch from 98d3e58 to d8e460a Compare July 25, 2025 02:51
Change the function partial to enable comments to be generated for
functions. This only enables the brief comments in the basic project.
@evelez7 evelez7 force-pushed the users/evelez7/clang-doc-function-comments branch from 47d132b to b388252 Compare July 25, 2025 02:52
@evelez7 evelez7 closed this Jul 25, 2025
@evelez7 evelez7 reopened this Jul 25, 2025
@evelez7 evelez7 closed this Jul 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants