Skip to content

Commit 17d5da6

Browse files
sdkrystianalandefreitas
authored andcommitted
chore: improve asciidoc templates
1 parent bb96013 commit 17d5da6

File tree

11 files changed

+77
-36
lines changed

11 files changed

+77
-36
lines changed

include/mrdox/mrdox.natvis

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929

3030
<!-- Error Types -->
3131

32-
<Type Name="clang::mrdox::Expected&lt;*&gt;">
33-
<DisplayString Condition="! has_error_">{v_}</DisplayString>
34-
<DisplayString Condition="has_error_">{e_}</DisplayString>
32+
<Type Name="clang::mrdox::Expected&lt;*, *&gt;">
33+
<DisplayString Condition="has_value_">{val_}</DisplayString>
34+
<DisplayString Condition="! has_value_">{-&gt;unex_}</DisplayString>
3535
</Type>
3636

3737
<!-- Dom Types -->
@@ -56,16 +56,45 @@
5656
</Type>
5757

5858
<Type Name="clang::mrdox::dom::Object">
59+
<Intrinsic Name="as_default" Expression="dynamic_cast&lt;DefaultObjectImpl*&gt;(impl_._Ptr)"/>
60+
<Intrinsic Name="as_lazy" Expression="dynamic_cast&lt;LazyObjectImpl*&gt;(impl_._Ptr)"/>
61+
<Intrinsic Name="as_overlay" Expression="dynamic_cast&lt;OverlayObjectImpl*&gt;(impl_._Ptr)"/>
62+
<Intrinsic Name="as_hbs_helper" Expression="dynamic_cast&lt;HbsHelperObjectImpl*&gt;(impl_._Ptr)"/>
5963
<DisplayString>[ dom::Object ]</DisplayString>
64+
65+
<Expand>
66+
<ExpandedItem Condition="as_default()">*as_default()</ExpandedItem>
67+
<ExpandedItem Condition="as_lazy()">*as_lazy()</ExpandedItem>
68+
<ExpandedItem Condition="as_overlay()">*as_overlay()</ExpandedItem>
69+
<ExpandedItem Condition="as_hbs_helper()">*as_hbs_helper()</ExpandedItem>
70+
<ExpandedItem Condition="! (as_default() || as_lazy() || as_overlay() || as_hbs_helper())">
71+
*(ObjectImpl*)impl_._Ptr
72+
</ExpandedItem>
73+
74+
</Expand>
6075
</Type>
6176

6277
<Type Name="clang::mrdox::dom::Value">
63-
<DisplayString Condition="kind_==Value::Kind::Null">null</DisplayString>
64-
<DisplayString Condition="kind_==Value::Kind::Boolean">{b_}</DisplayString>
65-
<DisplayString Condition="kind_==Value::Kind::Integer">{i_}</DisplayString>
66-
<DisplayString Condition="kind_==Value::Kind::String">{str_}</DisplayString>
67-
<DisplayString Condition="kind_==Value::Kind::Array">{arr_}</DisplayString>
68-
<DisplayString Condition="kind_==Value::Kind::Object">{obj_}</DisplayString>
78+
<DisplayString Condition="kind_==clang::mrdox::dom::Kind::Undefined">undefined</DisplayString>
79+
<DisplayString Condition="kind_==clang::mrdox::dom::Kind::Null">null</DisplayString>
80+
<DisplayString Condition="kind_==clang::mrdox::dom::Kind::Boolean">{b_}</DisplayString>
81+
<DisplayString Condition="kind_==clang::mrdox::dom::Kind::Integer">{i_}</DisplayString>
82+
<DisplayString Condition="kind_==clang::mrdox::dom::Kind::String">{str_}</DisplayString>
83+
<DisplayString Condition="kind_==clang::mrdox::dom::Kind::SafeString">{str_}</DisplayString>
84+
<DisplayString Condition="kind_==clang::mrdox::dom::Kind::Array">{arr_}</DisplayString>
85+
<DisplayString Condition="kind_==clang::mrdox::dom::Kind::Object">{obj_}</DisplayString>
86+
<DisplayString Condition="kind_==clang::mrdox::dom::Kind::Function">{fn_}</DisplayString>
87+
<DisplayString>invalid</DisplayString>
88+
89+
<Expand>
90+
<Item Condition="kind_==clang::mrdox::dom::Kind::Boolean" Name="Value">b_</Item>
91+
<Item Condition="kind_==clang::mrdox::dom::Kind::Integer" Name="Value">i_</Item>
92+
<ExpandedItem Condition="kind_==clang::mrdox::dom::Kind::String">str_</ExpandedItem>
93+
<ExpandedItem Condition="kind_==clang::mrdox::dom::Kind::SafeString">str_</ExpandedItem>
94+
<ExpandedItem Condition="kind_==clang::mrdox::dom::Kind::Array">arr_</ExpandedItem>
95+
<ExpandedItem Condition="kind_==clang::mrdox::dom::Kind::Object">obj_</ExpandedItem>
96+
<ExpandedItem Condition="kind_==clang::mrdox::dom::Kind::Function">fn_</ExpandedItem>
97+
</Expand>
6998
</Type>
7099

71100
<!-- Javadocs -->

share/mrdox/addons/generator/asciidoc/partials/declarator-before.adoc.hbs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
{{#if cv-qualifiers~}}
1313
{{#if pointee-type}} {{cv-qualifiers}}{{else}}{{cv-qualifiers}} {{/if~}}
1414
{{/if~}}
15-
{{#if symbol}}{{>xref symbol}}[{{name}}]{{else if name}}{{name}}{{/if~}}
15+
{{#if symbol~}}
16+
{{#if (not parent-type)}}{{>qualified-path symbol=symbol.parent}}{{/if~}}
17+
{{>xref symbol}}[{{name}}]{{else if name}}{{name~}}
18+
{{/if~}}
1619
{{#if (eq kind "specialization")}}{{>template-args args=args}}{{/if~}}
1720
{{#if is-pack~}}...{{/if}}

share/mrdox/addons/generator/asciidoc/partials/declarator.adoc.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{>declarator-before .~}}
1+
{{>declarator-before~}}
22
{{~#if decl-name}} {{decl-name~}}
33
{{~#if decl-name-targs~}}{{>template-args args=decl-name-targs}}{{~/if~}}
44
{{~/if~}}

share/mrdox/addons/generator/asciidoc/partials/enum.adoc.hbs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
[source,cpp,subs="verbatim,macros,-callouts"]
99
----
10-
enum {{name}};
10+
enum {{symbol.name}};
1111
----
1212
1313
{{>source symbol.loc}}

share/mrdox/addons/generator/asciidoc/partials/function-sig.adoc.hbs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,12 @@
2222
{{name~}}
2323
{{else~}}
2424
operator {{>declarator return~}}
25-
{{/if~}}
26-
({{#if params}}
27-
{{#each params}}
28-
{{>declarator type decl-name=name~}}
25+
{{/if}}
26+
({{#each params}}{{#unless (and @first @last)}}
27+
{{/unless}}{{>declarator type decl-name=name~}}
2928
{{#if default}} = {{default}}{{/if~}}
30-
{{#unless @last}},
31-
{{/unless~}}
32-
{{/each~}}
33-
{{/if~}})
29+
{{#unless @last}},{{/unless~}}
30+
{{/each~}})
3431
{{~#if isConst}} const{{/if~}}
3532
{{#if isVolatile}} volatile{{/if~}}
3633
{{#if refQualifier}} {{refQualifier}}{{/if~}}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{{#unless (contains @root.symbol.namespace symbol)~}}
2+
{{#if symbol.parent~}}
3+
{{>qualified-path symbol=symbol.parent~}}
4+
{{else~}}
5+
{{/if~}}
6+
{{#if symbol.name}}{{>xref symbol}}[{{~symbol.name}}]::{{/if~}}
7+
{{/unless}}

share/mrdox/addons/generator/asciidoc/partials/record.adoc.hbs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,18 @@
77

88
[source,cpp,subs="verbatim,macros,-callouts"]
99
----
10-
{{#if template}}{{>template-head template}}
10+
{{#if template}}{{>template-head symbol.template}}
1111
{{/if~}}
12-
{{#if (or (eq template.kind "explicit") (eq template.kind "partial"))~}}
13-
{{tag}} {{#if template.primary.id~}}{{>xref template.primary}}[{{name}}]{{else}}{{name}}{{/if~}}
14-
{{~>template-args args=template.args~}}
12+
{{#if (or (eq symbol.template.kind "explicit") (eq symbol.template.kind "partial"))~}}
13+
{{symbol.tag}} {{#if symbol.template.primary.id~}}{{>xref symbol.template.primary}}[{{symbol.name}}]{{else}}{{symbol.name}}{{/if~}}
14+
{{~>template-args args=symbol.template.args~}}
1515
{{else~}}
16-
{{tag}} {{name~}}
16+
{{symbol.tag}} {{symbol.name~}}
1717
{{/if~}}
1818
{{#unless symbol.bases}}
1919
;
2020
{{else}}
21+
2122
{{#each symbol.bases}}
2223
{{#if @first}}:{{else}},{{/if}}
2324
{{~#unless (eq access ../symbol.defaultAccess)}} {{access}}{{/unless}}
Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
template<{{#if params}}
2-
{{#each params}}
3-
{{>template-param~}}
4-
{{#unless @last}},
5-
{{/unless~}}
6-
{{/each~}}
7-
{{/if~}}>
1+
template<{{#each params}}{{#unless (and @first @last)}}
2+
{{/unless}}{{>template-param~}}
3+
{{#unless @last}},{{/unless~}}
4+
{{/each~}}>

share/mrdox/addons/generator/asciidoc/partials/variable.adoc.hbs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
{{/if~}}
1616
{{#if symbol.isThreadLocal}}thread_local
1717
{{/if~}}
18-
{{#if (or (eq template.kind "explicit") (eq template.kind "partial"))~}}
19-
{{>declarator-before symbol.type}} {{#if template.primary.id~}}{{>xref template.primary}}[{{name}}]{{else}}{{name}}{{/if~}}
20-
{{~>template-args args=template.args~}}
18+
{{#if (or (eq symbol.template.kind "explicit") (eq symbol.template.kind "partial"))~}}
19+
{{>declarator-before symbol.type}} {{#if symbol.template.primary.id~}}{{>xref symbol.template.primary}}[{{symbol.name}}]{{else}}{{symbol.name}}{{/if~}}
20+
{{~>template-args args=symbol.template.args~}}
2121
{{else~}}
22-
{{>declarator-before symbol.type}} {{name~}}
22+
{{>declarator-before symbol.type}} {{symbol.name~}}
2323
{{/if~}}
2424
{{>declarator-after symbol.type~}}
2525
;

src/lib/-adoc/Builder.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@ Builder(
127127
return res;
128128
}));
129129
helpers::registerAntoraHelpers(hbs_);
130+
// helpers::registerStringHelpers(hbs_);
131+
helpers::registerContainerHelpers(hbs_);
130132
}
131133

132134
//------------------------------------------------
@@ -145,6 +147,7 @@ callTemplate(
145147
MRDOX_TRY(auto fileText, files::getFileText(pathName));
146148
HandlebarsOptions options;
147149
options.noEscape = true;
150+
// options.compat = true;
148151

149152
Expected<std::string, HandlebarsError> exp =
150153
hbs_.try_render(fileText, context, options);

0 commit comments

Comments
 (0)