xref: /aosp_15_r20/external/bazelbuild-rules_go/docs/rule_body.vm (revision 9bb1b549b6a84214c53be0924760be030e66b93a)
1*9bb1b549SSpandan Das#**
2*9bb1b549SSpandan DasThis template is used for including rule definitions as top-level sections in generated stardoc docstrings.
3*9bb1b549SSpandan Das*#
4*9bb1b549SSpandan Das#*
5*9bb1b549SSpandan DasWorkaround for markdownCellFormat() not allowing HTML (specifically lists) to be rendered in attribute table cells.
6*9bb1b549SSpandan Das
7*9bb1b549SSpandan DasTODO: Once https://github.com/bazelbuild/bazel/pull/14230 is merged, remove this macro and replace with call to
8*9bb1b549SSpandan Das      util.markdownCellFormatWithHtml($attribute.docString, true)
9*9bb1b549SSpandan Das*#
10*9bb1b549SSpandan Das#macro( markdownCellFormatNoEscapeHtml $docString )#*
11*9bb1b549SSpandan Das  *##if ($docString.contains("<ul>"))#*
12*9bb1b549SSpandan Das      *#${docString.trim().replaceAll("\n(\\s*\n)+", "<br><br>").replaceAll("\n", " ")}#*
13*9bb1b549SSpandan Das  *##else#*
14*9bb1b549SSpandan Das      *#${util.markdownCellFormat($docString)}#*
15*9bb1b549SSpandan Das  *##end#*
16*9bb1b549SSpandan Das*##end
17*9bb1b549SSpandan Das
18*9bb1b549SSpandan Das<a id="#${ruleName}"></a>
19*9bb1b549SSpandan Das
20*9bb1b549SSpandan Das#[[##]]# ${ruleName}
21*9bb1b549SSpandan Das
22*9bb1b549SSpandan Das<pre>
23*9bb1b549SSpandan Das${util.ruleSummary($ruleName, $ruleInfo)}
24*9bb1b549SSpandan Das</pre>
25*9bb1b549SSpandan Das
26*9bb1b549SSpandan Das${ruleInfo.docString}
27*9bb1b549SSpandan Das
28*9bb1b549SSpandan Das#[[###]]# **Attributes**
29*9bb1b549SSpandan Das
30*9bb1b549SSpandan Das#if (!$ruleInfo.getAttributeList().isEmpty())
31*9bb1b549SSpandan Das
32*9bb1b549SSpandan Das| Name  | Description | Type | Mandatory | Default |
33*9bb1b549SSpandan Das| :------------- | :------------- | :------------- | :------------- | :------------- |
34*9bb1b549SSpandan Das#foreach ($attribute in $ruleInfo.getAttributeList())
35*9bb1b549SSpandan Das| <a id="${ruleName}-${attribute.name}"></a>$attribute.name | #if(!$attribute.docString.isEmpty()) #markdownCellFormatNoEscapeHtml( $attribute.docString ) #else - #end  | ${util.attributeTypeString($attribute)} | ${util.mandatoryString($attribute)} | $attribute.defaultValue |
36*9bb1b549SSpandan Das#end
37*9bb1b549SSpandan Das#end
38