authorgravatar for kappaloris@gmail.comLoris Cro <kappaloris@gmail.com> 2023-02-20 16:37:41+01:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2023-02-20 16:37:41+01:00
log99c11cc8cfb285b713284f7af0c7359508e0a660
tree4d2d2adc6199df97b89b9133ce402dbc9be2e00d
parentdfd182cc7a831ec75ccc03792afd27b292db194b
parent14bf20daeb784fb65e7d5789af13694a272a7142
signaturebadge-question-mark Signed by PGP key 4AEE18F83AFDEB23

Merge pull request #14544 from der-teufel-programming/autodoc-quickfixes

autodoc: main.js cleanup and formatting

2 files changed, 79 insertions(+), 83 deletions(-)

lib/docs/main.js+78-82
...@@ -106,7 +106,7 @@ const NAV_MODES = {...@@ -106,7 +106,7 @@ const NAV_MODES = {
106 // empty array means refers to the package itself106 // empty array means refers to the package itself
107 declNames: [],107 declNames: [],
108 // these will be all types, except the last one may be a type or a decl108 // these will be all types, except the last one may be a type or a decl
109 declObjs: [], 109 declObjs: [],
110 // (a, b, c, d) comptime call; result is the value the docs refer to110 // (a, b, c, d) comptime call; result is the value the docs refer to
111 callName: null,111 callName: null,
112 };112 };
...@@ -200,7 +200,7 @@ const NAV_MODES = {...@@ -200,7 +200,7 @@ const NAV_MODES = {
200 case NAV_MODES.GUIDES:200 case NAV_MODES.GUIDES:
201 document.title = "[G] " + curNav.activeGuide + suffix;201 document.title = "[G] " + curNav.activeGuide + suffix;
202 return;202 return;
203 } 203 }
204 }204 }
205205
206 function isDecl(x) {206 function isDecl(x) {
...@@ -401,7 +401,7 @@ const NAV_MODES = {...@@ -401,7 +401,7 @@ const NAV_MODES = {
401 domGuideSwitch.classList.add("active");401 domGuideSwitch.classList.add("active");
402 domApiSwitch.classList.remove("active");402 domApiSwitch.classList.remove("active");
403 domDocs.classList.add("hidden");403 domDocs.classList.add("hidden");
404 domGuides.classList.remove("hidden"); 404 domGuides.classList.remove("hidden");
405 domApiMenu.classList.add("hidden");405 domApiMenu.classList.add("hidden");
406406
407 // sidebar guides list407 // sidebar guides list
...@@ -422,7 +422,7 @@ const NAV_MODES = {...@@ -422,7 +422,7 @@ const NAV_MODES = {
422 if (list.length > 0) {422 if (list.length > 0) {
423 domGuidesMenu.classList.remove("hidden");423 domGuidesMenu.classList.remove("hidden");
424 }424 }
425 425
426 // main content426 // main content
427 const activeGuide = zigAnalysis.guides[curNav.activeGuide];427 const activeGuide = zigAnalysis.guides[curNav.activeGuide];
428 if (activeGuide == undefined) {428 if (activeGuide == undefined) {
...@@ -454,7 +454,7 @@ const NAV_MODES = {...@@ -454,7 +454,7 @@ const NAV_MODES = {
454454
455 Happy writing!455 Happy writing!
456 `);456 `);
457 } else { 457 } else {
458 domGuides.innerHTML = markdown(activeGuide);458 domGuides.innerHTML = markdown(activeGuide);
459 }459 }
460 }460 }
...@@ -467,7 +467,7 @@ const NAV_MODES = {...@@ -467,7 +467,7 @@ const NAV_MODES = {
467 domDocs.classList.remove("hidden");467 domDocs.classList.remove("hidden");
468 domApiMenu.classList.remove("hidden");468 domApiMenu.classList.remove("hidden");
469 domGuidesMenu.classList.add("hidden");469 domGuidesMenu.classList.add("hidden");
470 470
471 domStatus.classList.add("hidden");471 domStatus.classList.add("hidden");
472 domFnProto.classList.add("hidden");472 domFnProto.classList.add("hidden");
473 domSectParams.classList.add("hidden");473 domSectParams.classList.add("hidden");
...@@ -537,9 +537,9 @@ const NAV_MODES = {...@@ -537,9 +537,9 @@ const NAV_MODES = {
537 currentType = childDecl;537 currentType = childDecl;
538 curNav.declObjs.push(currentType);538 curNav.declObjs.push(currentType);
539 }539 }
540 540
541 541
542 542
543 window.x = currentType;543 window.x = currentType;
544544
545 renderNav();545 renderNav();
...@@ -586,15 +586,15 @@ const NAV_MODES = {...@@ -586,15 +586,15 @@ const NAV_MODES = {
586 switch (curNav.mode) {586 switch (curNav.mode) {
587 case NAV_MODES.API:587 case NAV_MODES.API:
588 case NAV_MODES.API_INTERNAL:588 case NAV_MODES.API_INTERNAL:
589 return renderApi();589 return renderApi();
590 case NAV_MODES.GUIDES:590 case NAV_MODES.GUIDES:
591 return renderGuides();591 return renderGuides();
592 default:592 default:
593 throw "?";593 throw "?";
594 } 594 }
595 }595 }
596596
597 597
598 function renderDocTest(decl) {598 function renderDocTest(decl) {
599 if (!decl.decltest) return;599 if (!decl.decltest) return;
600 const astNode = getAstNode(decl.decltest);600 const astNode = getAstNode(decl.decltest);
...@@ -651,7 +651,7 @@ const NAV_MODES = {...@@ -651,7 +651,7 @@ const NAV_MODES = {
651 wantLink: true,651 wantLink: true,
652 fnDecl,652 fnDecl,
653 });653 });
654 654
655 domFnSourceLink.innerHTML = "[<a target=\"_blank\" href=\"" + sourceFileLink(fnDecl) + "\">src</a>]";655 domFnSourceLink.innerHTML = "[<a target=\"_blank\" href=\"" + sourceFileLink(fnDecl) + "\">src</a>]";
656656
657 let docsSource = null;657 let docsSource = null;
...@@ -895,7 +895,7 @@ const NAV_MODES = {...@@ -895,7 +895,7 @@ const NAV_MODES = {
895895
896 function navLink(pkgNames, declNames, callName) {896 function navLink(pkgNames, declNames, callName) {
897 let base = curNav.mode;897 let base = curNav.mode;
898 898
899 if (pkgNames.length === 0 && declNames.length === 0) {899 if (pkgNames.length === 0 && declNames.length === 0) {
900 return base;900 return base;
901 } else if (declNames.length === 0 && callName == null) {901 } else if (declNames.length === 0 && callName == null) {
...@@ -919,18 +919,18 @@ const NAV_MODES = {...@@ -919,18 +919,18 @@ const NAV_MODES = {
919919
920 function findDeclNavLink(declName) {920 function findDeclNavLink(declName) {
921 if (curNav.declObjs.length == 0) return null;921 if (curNav.declObjs.length == 0) return null;
922 const curFile = getAstNode(curNav.declObjs[curNav.declObjs.length-1].src).file;922 const curFile = getAstNode(curNav.declObjs[curNav.declObjs.length - 1].src).file;
923 923
924 for (let i = curNav.declObjs.length -1; i >= 0; i--) {924 for (let i = curNav.declObjs.length - 1; i >= 0; i--) {
925 const curDecl = curNav.declObjs[i];925 const curDecl = curNav.declObjs[i];
926 const curDeclName = curNav.declNames[i-1];926 const curDeclName = curNav.declNames[i - 1];
927 if (curDeclName == declName) {927 if (curDeclName == declName) {
928 const declPath = curNav.declNames.slice(0,i);928 const declPath = curNav.declNames.slice(0, i);
929 return navLink(curNav.pkgNames, declPath);929 return navLink(curNav.pkgNames, declPath);
930 } 930 }
931931
932 if (findSubDecl(curDecl, declName) != null) { 932 if (findSubDecl(curDecl, declName) != null) {
933 const declPath = curNav.declNames.slice(0,i).concat([declName]);933 const declPath = curNav.declNames.slice(0, i).concat([declName]);
934 return navLink(curNav.pkgNames, declPath);934 return navLink(curNav.pkgNames, declPath);
935 }935 }
936 }936 }
...@@ -1366,10 +1366,6 @@ const NAV_MODES = {...@@ -1366,10 +1366,6 @@ const NAV_MODES = {
1366 payloadHtml += "truncate";1366 payloadHtml += "truncate";
1367 break;1367 break;
1368 }1368 }
1369 case "align_cast": {
1370 payloadHtml += "alignCast";
1371 break;
1372 }
1373 case "has_decl": {1369 case "has_decl": {
1374 payloadHtml += "hasDecl";1370 payloadHtml += "hasDecl";
1375 break;1371 break;
...@@ -1700,15 +1696,15 @@ const NAV_MODES = {...@@ -1700,15 +1696,15 @@ const NAV_MODES = {
1700 }1696 }
1701 case "declRef": {1697 case "declRef": {
1702 const name = getDecl(expr.declRef).name;1698 const name = getDecl(expr.declRef).name;
1703 1699
1704 if (opts.wantHtml) {1700 if (opts.wantHtml) {
1705 let payloadHtml = "";1701 let payloadHtml = "";
1706 if (opts.wantLink) {1702 if (opts.wantLink) {
1707 payloadHtml += '<a href="'+ findDeclNavLink(name) +'">'; 1703 payloadHtml += '<a href="' + findDeclNavLink(name) + '">';
1708 }1704 }
1709 payloadHtml +=1705 payloadHtml +=
1710 '<span class="tok-kw" style="color:lightblue;">' +1706 '<span class="tok-kw" style="color:lightblue;">' +
1711 name +1707 name +
1712 "</span>";1708 "</span>";
1713 if (opts.wantLink) payloadHtml += "</a>";1709 if (opts.wantLink) payloadHtml += "</a>";
1714 return payloadHtml;1710 return payloadHtml;
...@@ -1728,12 +1724,12 @@ const NAV_MODES = {...@@ -1728,12 +1724,12 @@ const NAV_MODES = {
1728 if ("string" in expr.refPath[i]) {1724 if ("string" in expr.refPath[i]) {
1729 component = expr.refPath[i].string;1725 component = expr.refPath[i].string;
1730 } else {1726 } else {
1731 component = exprName(expr.refPath[i], {...opts, wantLink: false});1727 component = exprName(expr.refPath[i], { ...opts, wantLink: false });
1732 if (opts.wantLink && "declRef" in expr.refPath[i]) {1728 if (opts.wantLink && "declRef" in expr.refPath[i]) {
1733 url += "." + getDecl(expr.refPath[i].declRef).name;1729 url += "." + getDecl(expr.refPath[i].declRef).name;
1734 component = '<a href="'+ url +'">' +1730 component = '<a href="' + url + '">' +
1735 component +1731 component +
1736 "</a>"; 1732 "</a>";
1737 }1733 }
1738 }1734 }
1739 name += "." + component;1735 name += "." + component;
...@@ -1792,12 +1788,12 @@ const NAV_MODES = {...@@ -1792,12 +1788,12 @@ const NAV_MODES = {
1792 name = "struct { ";1788 name = "struct { ";
1793 }1789 }
1794 }1790 }
1795 if (structObj.fields.length > 1 && opts.wantHtml) {name += "</br>";}1791 if (structObj.fields.length > 1 && opts.wantHtml) { name += "</br>"; }
1796 let indent = "";1792 let indent = "";
1797 if (structObj.fields.length > 1 && opts.wantHtml) {1793 if (structObj.fields.length > 1 && opts.wantHtml) {
1798 indent = "&nbsp;&nbsp;&nbsp;&nbsp;"1794 indent = "&nbsp;&nbsp;&nbsp;&nbsp;"
1799 }1795 }
1800 if (opts.indent) {1796 if (opts.indent && structObj.fields.length > 1) {
1801 indent = opts.indent + indent;1797 indent = opts.indent + indent;
1802 }1798 }
1803 let structNode = getAstNode(structObj.src);1799 let structNode = getAstNode(structObj.src);
...@@ -1808,7 +1804,7 @@ const NAV_MODES = {...@@ -1808,7 +1804,7 @@ const NAV_MODES = {
1808 field_end += " ";1804 field_end += " ";
1809 }1805 }
18101806
1811 for(let i = 0; i < structObj.fields.length; i += 1) {1807 for (let i = 0; i < structObj.fields.length; i += 1) {
1812 let fieldNode = getAstNode(structNode.fields[i]);1808 let fieldNode = getAstNode(structNode.fields[i]);
1813 let fieldName = fieldNode.name;1809 let fieldName = fieldNode.name;
1814 let html = indent;1810 let html = indent;
...@@ -1817,17 +1813,17 @@ const NAV_MODES = {...@@ -1817,17 +1813,17 @@ const NAV_MODES = {
1817 }1813 }
18181814
1819 let fieldTypeExpr = structObj.fields[i];1815 let fieldTypeExpr = structObj.fields[i];
1820 if(!structObj.is_tuple) {1816 if (!structObj.is_tuple) {
1821 html += ": ";1817 html += ": ";
1822 }1818 }
18231819
1824 html += exprName(fieldTypeExpr, {...opts, indent: indent});1820 html += exprName(fieldTypeExpr, { ...opts, indent: indent });
18251821
1826 html += field_end;1822 html += field_end;
18271823
1828 name += html;1824 name += html;
1829 }1825 }
1830 if (opts.indent) {1826 if (opts.indent && structObj.fields.length > 1) {
1831 name += opts.indent;1827 name += opts.indent;
1832 }1828 }
1833 name += "}";1829 name += "}";
...@@ -1850,7 +1846,7 @@ const NAV_MODES = {...@@ -1850,7 +1846,7 @@ const NAV_MODES = {
1850 if (enumObj.nonexhaustive) {1846 if (enumObj.nonexhaustive) {
1851 fields_len += 1;1847 fields_len += 1;
1852 }1848 }
1853 if (fields_len > 1 && opts.wantHtml) {name += "</br>";}1849 if (fields_len > 1 && opts.wantHtml) { name += "</br>"; }
1854 let indent = "";1850 let indent = "";
1855 if (fields_len > 1) {1851 if (fields_len > 1) {
1856 if (opts.wantHtml) {1852 if (opts.wantHtml) {
...@@ -1868,10 +1864,10 @@ const NAV_MODES = {...@@ -1868,10 +1864,10 @@ const NAV_MODES = {
1868 } else {1864 } else {
1869 field_end += " ";1865 field_end += " ";
1870 }1866 }
1871 for(let i = 0; i < enumNode.fields.length; i += 1) {1867 for (let i = 0; i < enumNode.fields.length; i += 1) {
1872 let fieldNode = getAstNode(enumNode.fields[i]);1868 let fieldNode = getAstNode(enumNode.fields[i]);
1873 let fieldName = fieldNode.name;1869 let fieldName = fieldNode.name;
1874 let html = indent + escapeHtml(fieldName);1870 let html = indent + escapeHtml(fieldName);
18751871
1876 html += field_end;1872 html += field_end;
18771873
...@@ -1895,16 +1891,16 @@ const NAV_MODES = {...@@ -1895,16 +1891,16 @@ const NAV_MODES = {
1895 name = "union";1891 name = "union";
1896 }1892 }
1897 if (unionObj.auto_tag) {1893 if (unionObj.auto_tag) {
1898 if (opts.wantHtml) {1894 if (opts.wantHtml) {
1899 name += " (<span class='tok-kw'>enum</span>";1895 name += " (<span class='tok-kw'>enum</span>";
1900 } else {1896 } else {
1901 name += " (enum";1897 name += " (enum";
1902 }1898 }
1903 if (unionObj.tag) {1899 if (unionObj.tag) {
1904 name += "(" + exprName(unionObj.tag, opts) + "))";1900 name += "(" + exprName(unionObj.tag, opts) + "))";
1905 } else {1901 } else {
1906 name += ")";1902 name += ")";
1907 }1903 }
1908 } else if (unionObj.tag) {1904 } else if (unionObj.tag) {
1909 name += " (" + exprName(unionObj.tag, opts) + ")";1905 name += " (" + exprName(unionObj.tag, opts) + ")";
1910 }1906 }
...@@ -1926,7 +1922,7 @@ const NAV_MODES = {...@@ -1926,7 +1922,7 @@ const NAV_MODES = {
1926 } else {1922 } else {
1927 field_end += " ";1923 field_end += " ";
1928 }1924 }
1929 for(let i = 0; i < unionObj.fields.length; i += 1) {1925 for (let i = 0; i < unionObj.fields.length; i += 1) {
1930 let fieldNode = getAstNode(unionNode.fields[i]);1926 let fieldNode = getAstNode(unionNode.fields[i]);
1931 let fieldName = fieldNode.name;1927 let fieldName = fieldNode.name;
1932 let html = indent + escapeHtml(fieldName);1928 let html = indent + escapeHtml(fieldName);
...@@ -1934,7 +1930,7 @@ const NAV_MODES = {...@@ -1934,7 +1930,7 @@ const NAV_MODES = {
1934 let fieldTypeExpr = unionObj.fields[i];1930 let fieldTypeExpr = unionObj.fields[i];
1935 html += ": ";1931 html += ": ";
19361932
1937 html += exprName(fieldTypeExpr, {...opts, indent: indent});1933 html += exprName(fieldTypeExpr, { ...opts, indent: indent });
19381934
1939 html += field_end;1935 html += field_end;
19401936
...@@ -2163,7 +2159,7 @@ const NAV_MODES = {...@@ -2163,7 +2159,7 @@ const NAV_MODES = {
2163 opts.fnDecl = null;2159 opts.fnDecl = null;
2164 opts.linkFnNameDecl = null;2160 opts.linkFnNameDecl = null;
2165 let payloadHtml = "";2161 let payloadHtml = "";
2166 if (opts.addParensIfFnSignature && fnObj.src == 0){2162 if (opts.addParensIfFnSignature && fnObj.src == 0) {
2167 payloadHtml += "(";2163 payloadHtml += "(";
2168 }2164 }
2169 if (opts.wantHtml) {2165 if (opts.wantHtml) {
...@@ -2179,7 +2175,7 @@ const NAV_MODES = {...@@ -2179,7 +2175,7 @@ const NAV_MODES = {
2179 if (linkFnNameDecl) {2175 if (linkFnNameDecl) {
2180 payloadHtml +=2176 payloadHtml +=
2181 '<a href="' + linkFnNameDecl + '">' +2177 '<a href="' + linkFnNameDecl + '">' +
2182 escapeHtml(fnDecl.name) +2178 escapeHtml(fnDecl.name) +
2183 "</a>";2179 "</a>";
2184 } else {2180 } else {
2185 payloadHtml += escapeHtml(fnDecl.name);2181 payloadHtml += escapeHtml(fnDecl.name);
...@@ -2198,7 +2194,7 @@ const NAV_MODES = {...@@ -2198,7 +2194,7 @@ const NAV_MODES = {
2198 fields = fnNode.fields;2194 fields = fnNode.fields;
2199 isVarArgs = fnNode.varArgs;2195 isVarArgs = fnNode.varArgs;
2200 }2196 }
2201 2197
2202 for (let i = 0; i < fnObj.params.length; i += 1) {2198 for (let i = 0; i < fnObj.params.length; i += 1) {
2203 if (i != 0) {2199 if (i != 0) {
2204 payloadHtml += ", ";2200 payloadHtml += ", ";
...@@ -2251,13 +2247,13 @@ const NAV_MODES = {...@@ -2251,13 +2247,13 @@ const NAV_MODES = {
2251 } else if ("typeOf" in value) {2247 } else if ("typeOf" in value) {
2252 payloadHtml += exprName(value, opts);2248 payloadHtml += exprName(value, opts);
2253 } else if ("typeOf_peer" in value) {2249 } else if ("typeOf_peer" in value) {
2254 payloadHtml += exprName(value, opts);2250 payloadHtml += exprName(value, opts);
2255 } else if ("declRef" in value) {2251 } else if ("declRef" in value) {
2256 payloadHtml += exprName(value, opts);2252 payloadHtml += exprName(value, opts);
2257 } else if ("call" in value) {2253 } else if ("call" in value) {
2258 payloadHtml += exprName(value, opts);2254 payloadHtml += exprName(value, opts);
2259 } else if ("refPath" in value) {2255 } else if ("refPath" in value) {
2260 payloadHtml += exprName(value, opts);2256 payloadHtml += exprName(value, opts);
2261 } else if ("type" in value) {2257 } else if ("type" in value) {
2262 payloadHtml += exprName(value, opts);2258 payloadHtml += exprName(value, opts);
2263 //payloadHtml += '<span class="tok-kw">' + name + "</span>";2259 //payloadHtml += '<span class="tok-kw">' + name + "</span>";
...@@ -2301,7 +2297,7 @@ const NAV_MODES = {...@@ -2301,7 +2297,7 @@ const NAV_MODES = {
2301 }2297 }
2302 if (fnObj.ret != null) {2298 if (fnObj.ret != null) {
2303 payloadHtml += exprName(fnObj.ret, {2299 payloadHtml += exprName(fnObj.ret, {
2304 ...opts, 2300 ...opts,
2305 addParensIfFnSignature: true,2301 addParensIfFnSignature: true,
2306 });2302 });
2307 } else if (opts.wantHtml) {2303 } else if (opts.wantHtml) {
...@@ -2310,7 +2306,7 @@ const NAV_MODES = {...@@ -2310,7 +2306,7 @@ const NAV_MODES = {
2310 payloadHtml += "anytype";2306 payloadHtml += "anytype";
2311 }2307 }
23122308
2313 if (opts.addParensIfFnSignature && fnObj.src == 0){2309 if (opts.addParensIfFnSignature && fnObj.src == 0) {
2314 payloadHtml += ")";2310 payloadHtml += ")";
2315 }2311 }
2316 return payloadHtml;2312 return payloadHtml;
...@@ -2353,7 +2349,7 @@ const NAV_MODES = {...@@ -2353,7 +2349,7 @@ const NAV_MODES = {
2353 ) {2349 ) {
2354 name = "std";2350 name = "std";
2355 } else {2351 } else {
2356 name = exprName({ type: typeObj }, {wantHtml: false, wantLink: false});2352 name = exprName({ type: typeObj }, { wantHtml: false, wantLink: false });
2357 }2353 }
2358 if (name != null && name != "") {2354 if (name != null && name != "") {
2359 domHdrName.innerText =2355 domHdrName.innerText =
...@@ -2644,10 +2640,10 @@ const NAV_MODES = {...@@ -2644,10 +2640,10 @@ const NAV_MODES = {
2644 }2640 }
26452641
2646 function sourceFileLink(decl) {2642 function sourceFileLink(decl) {
2647 const srcNode = getAstNode(decl.src);2643 const srcNode = getAstNode(decl.src);
2648 return sourceFileUrlTemplate.2644 return sourceFileUrlTemplate.
2649 replace("{{file}}", zigAnalysis.files[srcNode.file]).2645 replace("{{file}}", zigAnalysis.files[srcNode.file]).
2650 replace("{{line}}", srcNode.line + 1);2646 replace("{{line}}", srcNode.line + 1);
2651 }2647 }
26522648
2653 function renderContainer(container) {2649 function renderContainer(container) {
...@@ -2783,8 +2779,8 @@ const NAV_MODES = {...@@ -2783,8 +2779,8 @@ const NAV_MODES = {
2783 if (short != docs) {2779 if (short != docs) {
2784 short = markdown(short);2780 short = markdown(short);
2785 var long = markdown(docs);2781 var long = markdown(docs);
2786 tdDesc.innerHTML = 2782 tdDesc.innerHTML =
2787 "<div class=\"expand\" ><span class=\"button\" onclick=\"toggleExpand(event)\"></span><div class=\"sum-less\">" + short + "</div>" + "<div class=\"sum-more\">" + long + "</div></details>";2783 "<div class=\"expand\" ><span class=\"button\" onclick=\"toggleExpand(event)\"></span><div class=\"sum-less\">" + short + "</div>" + "<div class=\"sum-more\">" + long + "</div></details>";
2788 }2784 }
2789 else {2785 else {
2790 tdDesc.innerHTML = markdown(short);2786 tdDesc.innerHTML = markdown(short);
...@@ -2818,10 +2814,10 @@ const NAV_MODES = {...@@ -2818,10 +2814,10 @@ const NAV_MODES = {
2818 html += ' = <span class="tok-number">' + fieldName + "</span>";2814 html += ' = <span class="tok-number">' + fieldName + "</span>";
2819 } else {2815 } else {
2820 let fieldTypeExpr = container.fields[i];2816 let fieldTypeExpr = container.fields[i];
2821 if(container.kind ==! typeKinds.Struct || !container.is_tuple) {2817 if (container.kind !== typeKinds.Struct || !container.is_tuple) {
2822 html += ": ";2818 html += ": ";
2823 }2819 }
2824 html += exprName(fieldTypeExpr, {wantHtml:true, wantLink:true});2820 html += exprName(fieldTypeExpr, { wantHtml: true, wantLink: true });
2825 let tsn = typeShorthandName(fieldTypeExpr);2821 let tsn = typeShorthandName(fieldTypeExpr);
2826 if (tsn) {2822 if (tsn) {
2827 html += "<span> (" + tsn + ")</span>";2823 html += "<span> (" + tsn + ")</span>";
...@@ -3007,8 +3003,8 @@ const NAV_MODES = {...@@ -3007,8 +3003,8 @@ const NAV_MODES = {
3007 throw new Error("No type 'type' found");3003 throw new Error("No type 'type' found");
3008 }3004 }
30093005
3010 3006
3011 function updateCurNav() { 3007 function updateCurNav() {
3012 curNav = {3008 curNav = {
3013 mode: NAV_MODES.API,3009 mode: NAV_MODES.API,
3014 pkgNames: [],3010 pkgNames: [],
...@@ -3021,7 +3017,7 @@ const NAV_MODES = {...@@ -3021,7 +3017,7 @@ const NAV_MODES = {
30213017
3022 const mode = location.hash.substring(0, 3);3018 const mode = location.hash.substring(0, 3);
3023 let query = location.hash.substring(3);3019 let query = location.hash.substring(3);
3024 3020
3025 const DEFAULT_HASH = NAV_MODES.API + zigAnalysis.packages[zigAnalysis.rootPkg].name;3021 const DEFAULT_HASH = NAV_MODES.API + zigAnalysis.packages[zigAnalysis.rootPkg].name;
3026 switch (mode) {3022 switch (mode) {
3027 case NAV_MODES.API:3023 case NAV_MODES.API:
...@@ -3037,7 +3033,7 @@ const NAV_MODES = {...@@ -3037,7 +3033,7 @@ const NAV_MODES = {
3037 nonSearchPart = query.substring(0, qpos);3033 nonSearchPart = query.substring(0, qpos);
3038 curNavSearch = decodeURIComponent(query.substring(qpos + 1));3034 curNavSearch = decodeURIComponent(query.substring(qpos + 1));
3039 }3035 }
3040 3036
3041 let parts = nonSearchPart.split(":");3037 let parts = nonSearchPart.split(":");
3042 if (parts[0] == "") {3038 if (parts[0] == "") {
3043 location.hash = DEFAULT_HASH;3039 location.hash = DEFAULT_HASH;
...@@ -3059,14 +3055,14 @@ const NAV_MODES = {...@@ -3059,14 +3055,14 @@ const NAV_MODES = {
30593055
3060 curNav.mode = mode;3056 curNav.mode = mode;
3061 curNav.activeGuide = query;3057 curNav.activeGuide = query;
3062 3058
3063 return;3059 return;
3064 default:3060 default:
3065 location.hash = DEFAULT_HASH;3061 location.hash = DEFAULT_HASH;
3066 return;3062 return;
3067 }3063 }
3068 }3064 }
3069 3065
3070 function onHashChange() {3066 function onHashChange() {
3071 updateCurNav();3067 updateCurNav();
3072 if (domSearch.value !== curNavSearch) {3068 if (domSearch.value !== curNavSearch) {
...@@ -3103,7 +3099,7 @@ const NAV_MODES = {...@@ -3103,7 +3099,7 @@ const NAV_MODES = {
3103 if (!callee.generic_ret) return null;3099 if (!callee.generic_ret) return null;
3104 resolvedGenericRet = resolveValue({ expr: callee.generic_ret });3100 resolvedGenericRet = resolveValue({ expr: callee.generic_ret });
3105 }3101 }
3106 3102
3107 if ("type" in resolvedGenericRet.expr) {3103 if ("type" in resolvedGenericRet.expr) {
3108 parentType = getType(resolvedGenericRet.expr.type);3104 parentType = getType(resolvedGenericRet.expr.type);
3109 }3105 }
...@@ -3248,7 +3244,7 @@ const NAV_MODES = {...@@ -3248,7 +3244,7 @@ const NAV_MODES = {
3248 });3244 });
3249 }3245 }
32503246
3251 function shortDesc(docs){3247 function shortDesc(docs) {
3252 const trimmed_docs = docs.trim();3248 const trimmed_docs = docs.trim();
3253 let index = trimmed_docs.indexOf("\n\n");3249 let index = trimmed_docs.indexOf("\n\n");
3254 let cut = false;3250 let cut = false;
src/Autodoc.zig+1-1
...@@ -3629,7 +3629,7 @@ fn tryResolveRefPath(...@@ -3629,7 +3629,7 @@ fn tryResolveRefPath(
3629 }3629 }
36303630
3631 if (self.pending_ref_paths.get(&path[path.len - 1])) |waiter_list| {3631 if (self.pending_ref_paths.get(&path[path.len - 1])) |waiter_list| {
3632 // It's important to de-register oureslves as pending before3632 // It's important to de-register ourselves as pending before
3633 // attempting to resolve any other decl.3633 // attempting to resolve any other decl.
3634 _ = self.pending_ref_paths.remove(&path[path.len - 1]);3634 _ = self.pending_ref_paths.remove(&path[path.len - 1]);
36353635