Merge pull request #15304 from der-teufel-programming/autodoc-defaults

autodoc: Fix errors in main.js; add support for defaults in exprName
This commit is contained in:
Loris Cro 2023-04-17 20:14:57 +02:00 committed by GitHub
commit 3cd19dd897
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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;