autodoc: added support for tuple structs

This commit is contained in:
Der Teufel
2023-01-25 15:28:17 +01:00
parent e675af0698
commit e6cab917e1
2 changed files with 40 additions and 11 deletions
+23 -7
View File
@@ -1772,9 +1772,17 @@ const NAV_MODES = {
let structObj = typeObj;
let name = "";
if (opts.wantHtml) {
name = "<span class='tok-kw'>struct</span> { ";
if (structObj.is_tuple) {
name = "<span class='tok-kw'>tuple</span> { ";
} else {
name = "<span class='tok-kw'>struct</span> { ";
}
} else {
name = "struct { ";
if (structObj.is_tuple) {
name = "tuple { ";
} else {
name = "struct { ";
}
}
if (structObj.fields.length > 1 && opts.wantHtml) {name += "</br>";}
let indent = "";
@@ -1795,10 +1803,15 @@ const NAV_MODES = {
for(let i = 0; i < structObj.fields.length; i += 1) {
let fieldNode = getAstNode(structNode.fields[i]);
let fieldName = fieldNode.name;
let html = indent + escapeHtml(fieldName);
let html = indent;
if (!structObj.is_tuple) {
html += escapeHtml(fieldName);
}
let fieldTypeExpr = structObj.fields[i];
html += ": ";
if(!structObj.is_tuple) {
html += ": ";
}
html += exprName(fieldTypeExpr, {...opts, indent: indent});
@@ -2797,7 +2810,9 @@ const NAV_MODES = {
html += ' = <span class="tok-number">' + fieldName + "</span>";
} else {
let fieldTypeExpr = container.fields[i];
html += ": ";
if(container.kind ==! typeKinds.Struct || !container.is_tuple) {
html += ": ";
}
html += exprName(fieldTypeExpr, {wantHtml:true, wantLink:true});
let tsn = typeShorthandName(fieldTypeExpr);
if (tsn) {
@@ -3945,8 +3960,9 @@ const NAV_MODES = {
privDecls: ty[3],
pubDecls: ty[4],
fields: ty[5],
line_number: ty[6],
outer_decl: ty[7],
is_tuple: ty[6],
line_number: ty[7],
outer_decl: ty[8],
};
case 10: // ComptimeExpr
case 11: // ComptimeFloat