From 421ad51dc0651952e24d46a89c83b2a2b45f7d24 Mon Sep 17 00:00:00 2001 From: Krzysztof Wolicki Date: Sun, 16 Apr 2023 01:29:20 +0200 Subject: [PATCH] autodoc: Fix errors in main.js; add support for defaults in exprName --- lib/docs/main.js | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/lib/docs/main.js b/lib/docs/main.js index aa5e10e539..517632b2b3 100644 --- a/lib/docs/main.js +++ b/lib/docs/main.js @@ -1816,23 +1816,23 @@ const NAV_MODES = { name = "struct { "; } } - if (structObj.fields.length > 1 && opts.wantHtml) { name += "
"; } + if (structObj.field_types.length > 1 && opts.wantHtml) { name += "
"; } let indent = ""; - if (structObj.fields.length > 1 && opts.wantHtml) { + if (structObj.field_types.length > 1 && opts.wantHtml) { indent = "    " } - 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 += "
"; } 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;