authorgravatar for der.teufel.mail@gmail.comKrzysztof Wolicki <der.teufel.mail@gmail.com> 2023-02-04 14:02:39+01:00
committergravatar for der.teufel.mail@gmail.comKrzysztof Wolicki <der.teufel.mail@gmail.com> 2023-02-10 14:32:45+01:00
log02bc6356d72f34fdf4c0669bbcad20427f4d8991
treef37d041eb18992b9bb022a6d8bf3f30633ed13bc
parentd24ebf1d12cf66665b52136a2807f97ff021d78d

autodoc: main.js cleanup and formatting


1 files changed, 76 insertions(+), 80 deletions(-)

lib/docs/main.js+76-80
...@@ -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 }
...@@ -1362,10 +1362,6 @@ const NAV_MODES = {...@@ -1362,10 +1362,6 @@ const NAV_MODES = {
1362 payloadHtml += "truncate";1362 payloadHtml += "truncate";
1363 break;1363 break;
1364 }1364 }
1365 case "align_cast": {
1366 payloadHtml += "alignCast";
1367 break;
1368 }
1369 case "has_decl": {1365 case "has_decl": {
1370 payloadHtml += "hasDecl";1366 payloadHtml += "hasDecl";
1371 break;1367 break;
...@@ -1696,15 +1692,15 @@ const NAV_MODES = {...@@ -1696,15 +1692,15 @@ const NAV_MODES = {
1696 }1692 }
1697 case "declRef": {1693 case "declRef": {
1698 const name = getDecl(expr.declRef).name;1694 const name = getDecl(expr.declRef).name;
1699 1695
1700 if (opts.wantHtml) {1696 if (opts.wantHtml) {
1701 let payloadHtml = "";1697 let payloadHtml = "";
1702 if (opts.wantLink) {1698 if (opts.wantLink) {
1703 payloadHtml += '<a href="'+ findDeclNavLink(name) +'">'; 1699 payloadHtml += '<a href="' + findDeclNavLink(name) + '">';
1704 }1700 }
1705 payloadHtml +=1701 payloadHtml +=
1706 '<span class="tok-kw" style="color:lightblue;">' +1702 '<span class="tok-kw" style="color:lightblue;">' +
1707 name +1703 name +
1708 "</span>";1704 "</span>";
1709 if (opts.wantLink) payloadHtml += "</a>";1705 if (opts.wantLink) payloadHtml += "</a>";
1710 return payloadHtml;1706 return payloadHtml;
...@@ -1724,12 +1720,12 @@ const NAV_MODES = {...@@ -1724,12 +1720,12 @@ const NAV_MODES = {
1724 if ("string" in expr.refPath[i]) {1720 if ("string" in expr.refPath[i]) {
1725 component = expr.refPath[i].string;1721 component = expr.refPath[i].string;
1726 } else {1722 } else {
1727 component = exprName(expr.refPath[i], {...opts, wantLink: false});1723 component = exprName(expr.refPath[i], { ...opts, wantLink: false });
1728 if (opts.wantLink && "declRef" in expr.refPath[i]) {1724 if (opts.wantLink && "declRef" in expr.refPath[i]) {
1729 url += "." + getDecl(expr.refPath[i].declRef).name;1725 url += "." + getDecl(expr.refPath[i].declRef).name;
1730 component = '<a href="'+ url +'">' +1726 component = '<a href="' + url + '">' +
1731 component +1727 component +
1732 "</a>"; 1728 "</a>";
1733 }1729 }
1734 }1730 }
1735 name += "." + component;1731 name += "." + component;
...@@ -1788,7 +1784,7 @@ const NAV_MODES = {...@@ -1788,7 +1784,7 @@ const NAV_MODES = {
1788 name = "struct { ";1784 name = "struct { ";
1789 }1785 }
1790 }1786 }
1791 if (structObj.fields.length > 1 && opts.wantHtml) {name += "</br>";}1787 if (structObj.fields.length > 1 && opts.wantHtml) { name += "</br>"; }
1792 let indent = "";1788 let indent = "";
1793 if (structObj.fields.length > 1 && opts.wantHtml) {1789 if (structObj.fields.length > 1 && opts.wantHtml) {
1794 indent = "&nbsp;&nbsp;&nbsp;&nbsp;"1790 indent = "&nbsp;&nbsp;&nbsp;&nbsp;"
...@@ -1804,7 +1800,7 @@ const NAV_MODES = {...@@ -1804,7 +1800,7 @@ const NAV_MODES = {
1804 field_end += " ";1800 field_end += " ";
1805 }1801 }
18061802
1807 for(let i = 0; i < structObj.fields.length; i += 1) {1803 for (let i = 0; i < structObj.fields.length; i += 1) {
1808 let fieldNode = getAstNode(structNode.fields[i]);1804 let fieldNode = getAstNode(structNode.fields[i]);
1809 let fieldName = fieldNode.name;1805 let fieldName = fieldNode.name;
1810 let html = indent;1806 let html = indent;
...@@ -1813,11 +1809,11 @@ const NAV_MODES = {...@@ -1813,11 +1809,11 @@ const NAV_MODES = {
1813 }1809 }
18141810
1815 let fieldTypeExpr = structObj.fields[i];1811 let fieldTypeExpr = structObj.fields[i];
1816 if(!structObj.is_tuple) {1812 if (!structObj.is_tuple) {
1817 html += ": ";1813 html += ": ";
1818 }1814 }
18191815
1820 html += exprName(fieldTypeExpr, {...opts, indent: indent});1816 html += exprName(fieldTypeExpr, { ...opts, indent: indent });
18211817
1822 html += field_end;1818 html += field_end;
18231819
...@@ -1846,7 +1842,7 @@ const NAV_MODES = {...@@ -1846,7 +1842,7 @@ const NAV_MODES = {
1846 if (enumObj.nonexhaustive) {1842 if (enumObj.nonexhaustive) {
1847 fields_len += 1;1843 fields_len += 1;
1848 }1844 }
1849 if (fields_len > 1 && opts.wantHtml) {name += "</br>";}1845 if (fields_len > 1 && opts.wantHtml) { name += "</br>"; }
1850 let indent = "";1846 let indent = "";
1851 if (fields_len > 1) {1847 if (fields_len > 1) {
1852 if (opts.wantHtml) {1848 if (opts.wantHtml) {
...@@ -1864,10 +1860,10 @@ const NAV_MODES = {...@@ -1864,10 +1860,10 @@ const NAV_MODES = {
1864 } else {1860 } else {
1865 field_end += " ";1861 field_end += " ";
1866 }1862 }
1867 for(let i = 0; i < enumNode.fields.length; i += 1) {1863 for (let i = 0; i < enumNode.fields.length; i += 1) {
1868 let fieldNode = getAstNode(enumNode.fields[i]);1864 let fieldNode = getAstNode(enumNode.fields[i]);
1869 let fieldName = fieldNode.name;1865 let fieldName = fieldNode.name;
1870 let html = indent + escapeHtml(fieldName);1866 let html = indent + escapeHtml(fieldName);
18711867
1872 html += field_end;1868 html += field_end;
18731869
...@@ -1891,16 +1887,16 @@ const NAV_MODES = {...@@ -1891,16 +1887,16 @@ const NAV_MODES = {
1891 name = "union";1887 name = "union";
1892 }1888 }
1893 if (unionObj.auto_tag) {1889 if (unionObj.auto_tag) {
1894 if (opts.wantHtml) {1890 if (opts.wantHtml) {
1895 name += " (<span class='tok-kw'>enum</span>";1891 name += " (<span class='tok-kw'>enum</span>";
1896 } else {1892 } else {
1897 name += " (enum";1893 name += " (enum";
1898 }1894 }
1899 if (unionObj.tag) {1895 if (unionObj.tag) {
1900 name += "(" + exprName(unionObj.tag, opts) + "))";1896 name += "(" + exprName(unionObj.tag, opts) + "))";
1901 } else {1897 } else {
1902 name += ")";1898 name += ")";
1903 }1899 }
1904 } else if (unionObj.tag) {1900 } else if (unionObj.tag) {
1905 name += " (" + exprName(unionObj.tag, opts) + ")";1901 name += " (" + exprName(unionObj.tag, opts) + ")";
1906 }1902 }
...@@ -1922,7 +1918,7 @@ const NAV_MODES = {...@@ -1922,7 +1918,7 @@ const NAV_MODES = {
1922 } else {1918 } else {
1923 field_end += " ";1919 field_end += " ";
1924 }1920 }
1925 for(let i = 0; i < unionObj.fields.length; i += 1) {1921 for (let i = 0; i < unionObj.fields.length; i += 1) {
1926 let fieldNode = getAstNode(unionNode.fields[i]);1922 let fieldNode = getAstNode(unionNode.fields[i]);
1927 let fieldName = fieldNode.name;1923 let fieldName = fieldNode.name;
1928 let html = indent + escapeHtml(fieldName);1924 let html = indent + escapeHtml(fieldName);
...@@ -1930,7 +1926,7 @@ const NAV_MODES = {...@@ -1930,7 +1926,7 @@ const NAV_MODES = {
1930 let fieldTypeExpr = unionObj.fields[i];1926 let fieldTypeExpr = unionObj.fields[i];
1931 html += ": ";1927 html += ": ";
19321928
1933 html += exprName(fieldTypeExpr, {...opts, indent: indent});1929 html += exprName(fieldTypeExpr, { ...opts, indent: indent });
19341930
1935 html += field_end;1931 html += field_end;
19361932
...@@ -2159,7 +2155,7 @@ const NAV_MODES = {...@@ -2159,7 +2155,7 @@ const NAV_MODES = {
2159 opts.fnDecl = null;2155 opts.fnDecl = null;
2160 opts.linkFnNameDecl = null;2156 opts.linkFnNameDecl = null;
2161 let payloadHtml = "";2157 let payloadHtml = "";
2162 if (opts.addParensIfFnSignature && fnObj.src == 0){2158 if (opts.addParensIfFnSignature && fnObj.src == 0) {
2163 payloadHtml += "(";2159 payloadHtml += "(";
2164 }2160 }
2165 if (opts.wantHtml) {2161 if (opts.wantHtml) {
...@@ -2175,7 +2171,7 @@ const NAV_MODES = {...@@ -2175,7 +2171,7 @@ const NAV_MODES = {
2175 if (linkFnNameDecl) {2171 if (linkFnNameDecl) {
2176 payloadHtml +=2172 payloadHtml +=
2177 '<a href="' + linkFnNameDecl + '">' +2173 '<a href="' + linkFnNameDecl + '">' +
2178 escapeHtml(fnDecl.name) +2174 escapeHtml(fnDecl.name) +
2179 "</a>";2175 "</a>";
2180 } else {2176 } else {
2181 payloadHtml += escapeHtml(fnDecl.name);2177 payloadHtml += escapeHtml(fnDecl.name);
...@@ -2194,7 +2190,7 @@ const NAV_MODES = {...@@ -2194,7 +2190,7 @@ const NAV_MODES = {
2194 fields = fnNode.fields;2190 fields = fnNode.fields;
2195 isVarArgs = fnNode.varArgs;2191 isVarArgs = fnNode.varArgs;
2196 }2192 }
2197 2193
2198 for (let i = 0; i < fnObj.params.length; i += 1) {2194 for (let i = 0; i < fnObj.params.length; i += 1) {
2199 if (i != 0) {2195 if (i != 0) {
2200 payloadHtml += ", ";2196 payloadHtml += ", ";
...@@ -2247,13 +2243,13 @@ const NAV_MODES = {...@@ -2247,13 +2243,13 @@ const NAV_MODES = {
2247 } else if ("typeOf" in value) {2243 } else if ("typeOf" in value) {
2248 payloadHtml += exprName(value, opts);2244 payloadHtml += exprName(value, opts);
2249 } else if ("typeOf_peer" in value) {2245 } else if ("typeOf_peer" in value) {
2250 payloadHtml += exprName(value, opts);2246 payloadHtml += exprName(value, opts);
2251 } else if ("declRef" in value) {2247 } else if ("declRef" in value) {
2252 payloadHtml += exprName(value, opts);2248 payloadHtml += exprName(value, opts);
2253 } else if ("call" in value) {2249 } else if ("call" in value) {
2254 payloadHtml += exprName(value, opts);2250 payloadHtml += exprName(value, opts);
2255 } else if ("refPath" in value) {2251 } else if ("refPath" in value) {
2256 payloadHtml += exprName(value, opts);2252 payloadHtml += exprName(value, opts);
2257 } else if ("type" in value) {2253 } else if ("type" in value) {
2258 payloadHtml += exprName(value, opts);2254 payloadHtml += exprName(value, opts);
2259 //payloadHtml += '<span class="tok-kw">' + name + "</span>";2255 //payloadHtml += '<span class="tok-kw">' + name + "</span>";
...@@ -2297,7 +2293,7 @@ const NAV_MODES = {...@@ -2297,7 +2293,7 @@ const NAV_MODES = {
2297 }2293 }
2298 if (fnObj.ret != null) {2294 if (fnObj.ret != null) {
2299 payloadHtml += exprName(fnObj.ret, {2295 payloadHtml += exprName(fnObj.ret, {
2300 ...opts, 2296 ...opts,
2301 addParensIfFnSignature: true,2297 addParensIfFnSignature: true,
2302 });2298 });
2303 } else if (opts.wantHtml) {2299 } else if (opts.wantHtml) {
...@@ -2306,7 +2302,7 @@ const NAV_MODES = {...@@ -2306,7 +2302,7 @@ const NAV_MODES = {
2306 payloadHtml += "anytype";2302 payloadHtml += "anytype";
2307 }2303 }
23082304
2309 if (opts.addParensIfFnSignature && fnObj.src == 0){2305 if (opts.addParensIfFnSignature && fnObj.src == 0) {
2310 payloadHtml += ")";2306 payloadHtml += ")";
2311 }2307 }
2312 return payloadHtml;2308 return payloadHtml;
...@@ -2349,7 +2345,7 @@ const NAV_MODES = {...@@ -2349,7 +2345,7 @@ const NAV_MODES = {
2349 ) {2345 ) {
2350 name = "std";2346 name = "std";
2351 } else {2347 } else {
2352 name = exprName({ type: typeObj }, {wantHtml: false, wantLink: false});2348 name = exprName({ type: typeObj }, { wantHtml: false, wantLink: false });
2353 }2349 }
2354 if (name != null && name != "") {2350 if (name != null && name != "") {
2355 domHdrName.innerText =2351 domHdrName.innerText =
...@@ -2640,10 +2636,10 @@ const NAV_MODES = {...@@ -2640,10 +2636,10 @@ const NAV_MODES = {
2640 }2636 }
26412637
2642 function sourceFileLink(decl) {2638 function sourceFileLink(decl) {
2643 const srcNode = getAstNode(decl.src);2639 const srcNode = getAstNode(decl.src);
2644 return sourceFileUrlTemplate.2640 return sourceFileUrlTemplate.
2645 replace("{{file}}", zigAnalysis.files[srcNode.file]).2641 replace("{{file}}", zigAnalysis.files[srcNode.file]).
2646 replace("{{line}}", srcNode.line + 1);2642 replace("{{line}}", srcNode.line + 1);
2647 }2643 }
26482644
2649 function renderContainer(container) {2645 function renderContainer(container) {
...@@ -2779,8 +2775,8 @@ const NAV_MODES = {...@@ -2779,8 +2775,8 @@ const NAV_MODES = {
2779 if (short != docs) {2775 if (short != docs) {
2780 short = markdown(short);2776 short = markdown(short);
2781 var long = markdown(docs);2777 var long = markdown(docs);
2782 tdDesc.innerHTML = 2778 tdDesc.innerHTML =
2783 "<div class=\"expand\" ><span class=\"button\" onclick=\"toggleExpand(event)\"></span><div class=\"sum-less\">" + short + "</div>" + "<div class=\"sum-more\">" + long + "</div></details>";2779 "<div class=\"expand\" ><span class=\"button\" onclick=\"toggleExpand(event)\"></span><div class=\"sum-less\">" + short + "</div>" + "<div class=\"sum-more\">" + long + "</div></details>";
2784 }2780 }
2785 else {2781 else {
2786 tdDesc.innerHTML = markdown(short);2782 tdDesc.innerHTML = markdown(short);
...@@ -2814,10 +2810,10 @@ const NAV_MODES = {...@@ -2814,10 +2810,10 @@ const NAV_MODES = {
2814 html += ' = <span class="tok-number">' + fieldName + "</span>";2810 html += ' = <span class="tok-number">' + fieldName + "</span>";
2815 } else {2811 } else {
2816 let fieldTypeExpr = container.fields[i];2812 let fieldTypeExpr = container.fields[i];
2817 if(container.kind ==! typeKinds.Struct || !container.is_tuple) {2813 if (container.kind !== typeKinds.Struct || !container.is_tuple) {
2818 html += ": ";2814 html += ": ";
2819 }2815 }
2820 html += exprName(fieldTypeExpr, {wantHtml:true, wantLink:true});2816 html += exprName(fieldTypeExpr, { wantHtml: true, wantLink: true });
2821 let tsn = typeShorthandName(fieldTypeExpr);2817 let tsn = typeShorthandName(fieldTypeExpr);
2822 if (tsn) {2818 if (tsn) {
2823 html += "<span> (" + tsn + ")</span>";2819 html += "<span> (" + tsn + ")</span>";
...@@ -3003,8 +2999,8 @@ const NAV_MODES = {...@@ -3003,8 +2999,8 @@ const NAV_MODES = {
3003 throw new Error("No type 'type' found");2999 throw new Error("No type 'type' found");
3004 }3000 }
30053001
3006 3002
3007 function updateCurNav() { 3003 function updateCurNav() {
3008 curNav = {3004 curNav = {
3009 mode: NAV_MODES.API,3005 mode: NAV_MODES.API,
3010 pkgNames: [],3006 pkgNames: [],
...@@ -3017,7 +3013,7 @@ const NAV_MODES = {...@@ -3017,7 +3013,7 @@ const NAV_MODES = {
30173013
3018 const mode = location.hash.substring(0, 3);3014 const mode = location.hash.substring(0, 3);
3019 let query = location.hash.substring(3);3015 let query = location.hash.substring(3);
3020 3016
3021 const DEFAULT_HASH = NAV_MODES.API + zigAnalysis.packages[zigAnalysis.rootPkg].name;3017 const DEFAULT_HASH = NAV_MODES.API + zigAnalysis.packages[zigAnalysis.rootPkg].name;
3022 switch (mode) {3018 switch (mode) {
3023 case NAV_MODES.API:3019 case NAV_MODES.API:
...@@ -3033,7 +3029,7 @@ const NAV_MODES = {...@@ -3033,7 +3029,7 @@ const NAV_MODES = {
3033 nonSearchPart = query.substring(0, qpos);3029 nonSearchPart = query.substring(0, qpos);
3034 curNavSearch = decodeURIComponent(query.substring(qpos + 1));3030 curNavSearch = decodeURIComponent(query.substring(qpos + 1));
3035 }3031 }
3036 3032
3037 let parts = nonSearchPart.split(":");3033 let parts = nonSearchPart.split(":");
3038 if (parts[0] == "") {3034 if (parts[0] == "") {
3039 location.hash = DEFAULT_HASH;3035 location.hash = DEFAULT_HASH;
...@@ -3055,14 +3051,14 @@ const NAV_MODES = {...@@ -3055,14 +3051,14 @@ const NAV_MODES = {
30553051
3056 curNav.mode = mode;3052 curNav.mode = mode;
3057 curNav.activeGuide = query;3053 curNav.activeGuide = query;
3058 3054
3059 return;3055 return;
3060 default:3056 default:
3061 location.hash = DEFAULT_HASH;3057 location.hash = DEFAULT_HASH;
3062 return;3058 return;
3063 }3059 }
3064 }3060 }
3065 3061
3066 function onHashChange() {3062 function onHashChange() {
3067 updateCurNav();3063 updateCurNav();
3068 if (domSearch.value !== curNavSearch) {3064 if (domSearch.value !== curNavSearch) {
...@@ -3099,7 +3095,7 @@ const NAV_MODES = {...@@ -3099,7 +3095,7 @@ const NAV_MODES = {
3099 if (!callee.generic_ret) return null;3095 if (!callee.generic_ret) return null;
3100 resolvedGenericRet = resolveValue({ expr: callee.generic_ret });3096 resolvedGenericRet = resolveValue({ expr: callee.generic_ret });
3101 }3097 }
3102 3098
3103 if ("type" in resolvedGenericRet.expr) {3099 if ("type" in resolvedGenericRet.expr) {
3104 parentType = getType(resolvedGenericRet.expr.type);3100 parentType = getType(resolvedGenericRet.expr.type);
3105 }3101 }
...@@ -3244,7 +3240,7 @@ const NAV_MODES = {...@@ -3244,7 +3240,7 @@ const NAV_MODES = {
3244 });3240 });
3245 }3241 }
32463242
3247 function shortDesc(docs){3243 function shortDesc(docs) {
3248 const trimmed_docs = docs.trim();3244 const trimmed_docs = docs.trim();
3249 let index = trimmed_docs.indexOf("\n\n");3245 let index = trimmed_docs.indexOf("\n\n");
3250 let cut = false;3246 let cut = false;