autodoc: Fix errors in main.js; add support for defaults in exprName

This commit is contained in:
Krzysztof Wolicki 2023-04-16 01:29:20 +02:00
parent 23ac4dd87b
commit 421ad51dc0

View File

@ -1816,23 +1816,23 @@ const NAV_MODES = {
name = "struct { ";
}
}
if (structObj.fields.length > 1 && opts.wantHtml) { name += "</br>"; }
if (structObj.field_types.length > 1 && opts.wantHtml) { name += "</br>"; }
let indent = "";
if (structObj.fields.length > 1 && opts.wantHtml) {
if (structObj.field_types.length > 1 && opts.wantHtml) {
indent = "&nbsp;&nbsp;&nbsp;&nbsp;"
}
if (opts.indent && structObj.fields.length > 1) {
if (opts.indent && structObj.field_types.length > 1) {
indent = opts.indent + indent;
}
let structNode = getAstNode(structObj.src);
let field_end = ",";
if (structObj.fields.length > 1 && opts.wantHtml) {
if (structObj.field_types.length > 1 && opts.wantHtml) {
field_end += "</br>";
} else {
field_end += " ";
}
for (let i = 0; i < structObj.fields.length; i += 1) {
for (let i = 0; i < structObj.field_types.length; i += 1) {
let fieldNode = getAstNode(structNode.fields[i]);
let fieldName = fieldNode.name;
let html = indent;
@ -1840,18 +1840,22 @@ const NAV_MODES = {
html += escapeHtml(fieldName);
}
let fieldTypeExpr = structObj.fields[i];
let fieldTypeExpr = structObj.field_types[i];
if (!structObj.is_tuple) {
html += ": ";
}
html += exprName(fieldTypeExpr, { ...opts, indent: indent });
if (structObj.field_defaults[i] !== null) {
html += " = " + exprName(structObj.field_defaults[i], opts);
}
html += field_end;
name += html;
}
if (opts.indent && structObj.fields.length > 1) {
if (opts.indent && structObj.field_types.length > 1) {
name += opts.indent;
}
name += "}";
@ -1897,6 +1901,10 @@ const NAV_MODES = {
let fieldName = fieldNode.name;
let html = indent + escapeHtml(fieldName);
if (enumObj.values[i] !== null) {
html += " = " + exprName(enumObj.values[i], opts);
}
html += field_end;
name += html;