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 = {
106106 // empty array means refers to the package itself
107107 declNames: [],
108108 // these will be all types, except the last one may be a type or a decl
109 declObjs: [],
109 declObjs: [],
110110 // (a, b, c, d) comptime call; result is the value the docs refer to
111111 callName: null,
112112 };
......@@ -200,7 +200,7 @@ const NAV_MODES = {
200200 case NAV_MODES.GUIDES:
201201 document.title = "[G] " + curNav.activeGuide + suffix;
202202 return;
203 }
203 }
204204 }
205205
206206 function isDecl(x) {
......@@ -401,7 +401,7 @@ const NAV_MODES = {
401401 domGuideSwitch.classList.add("active");
402402 domApiSwitch.classList.remove("active");
403403 domDocs.classList.add("hidden");
404 domGuides.classList.remove("hidden");
404 domGuides.classList.remove("hidden");
405405 domApiMenu.classList.add("hidden");
406406
407407 // sidebar guides list
......@@ -422,7 +422,7 @@ const NAV_MODES = {
422422 if (list.length > 0) {
423423 domGuidesMenu.classList.remove("hidden");
424424 }
425
425
426426 // main content
427427 const activeGuide = zigAnalysis.guides[curNav.activeGuide];
428428 if (activeGuide == undefined) {
......@@ -454,7 +454,7 @@ const NAV_MODES = {
454454
455455 Happy writing!
456456 `);
457 } else {
457 } else {
458458 domGuides.innerHTML = markdown(activeGuide);
459459 }
460460 }
......@@ -467,7 +467,7 @@ const NAV_MODES = {
467467 domDocs.classList.remove("hidden");
468468 domApiMenu.classList.remove("hidden");
469469 domGuidesMenu.classList.add("hidden");
470
470
471471 domStatus.classList.add("hidden");
472472 domFnProto.classList.add("hidden");
473473 domSectParams.classList.add("hidden");
......@@ -537,9 +537,9 @@ const NAV_MODES = {
537537 currentType = childDecl;
538538 curNav.declObjs.push(currentType);
539539 }
540
541
542
540
541
542
543543 window.x = currentType;
544544
545545 renderNav();
......@@ -586,15 +586,15 @@ const NAV_MODES = {
586586 switch (curNav.mode) {
587587 case NAV_MODES.API:
588588 case NAV_MODES.API_INTERNAL:
589 return renderApi();
589 return renderApi();
590590 case NAV_MODES.GUIDES:
591 return renderGuides();
591 return renderGuides();
592592 default:
593 throw "?";
594 }
593 throw "?";
594 }
595595 }
596596
597
597
598598 function renderDocTest(decl) {
599599 if (!decl.decltest) return;
600600 const astNode = getAstNode(decl.decltest);
......@@ -651,7 +651,7 @@ const NAV_MODES = {
651651 wantLink: true,
652652 fnDecl,
653653 });
654
654
655655 domFnSourceLink.innerHTML = "[<a target=\"_blank\" href=\"" + sourceFileLink(fnDecl) + "\">src</a>]";
656656
657657 let docsSource = null;
......@@ -895,7 +895,7 @@ const NAV_MODES = {
895895
896896 function navLink(pkgNames, declNames, callName) {
897897 let base = curNav.mode;
898
898
899899 if (pkgNames.length === 0 && declNames.length === 0) {
900900 return base;
901901 } else if (declNames.length === 0 && callName == null) {
......@@ -919,18 +919,18 @@ const NAV_MODES = {
919919
920920 function findDeclNavLink(declName) {
921921 if (curNav.declObjs.length == 0) return null;
922 const curFile = getAstNode(curNav.declObjs[curNav.declObjs.length-1].src).file;
923
924 for (let i = curNav.declObjs.length -1; i >= 0; i--) {
922 const curFile = getAstNode(curNav.declObjs[curNav.declObjs.length - 1].src).file;
923
924 for (let i = curNav.declObjs.length - 1; i >= 0; i--) {
925925 const curDecl = curNav.declObjs[i];
926 const curDeclName = curNav.declNames[i-1];
926 const curDeclName = curNav.declNames[i - 1];
927927 if (curDeclName == declName) {
928 const declPath = curNav.declNames.slice(0,i);
928 const declPath = curNav.declNames.slice(0, i);
929929 return navLink(curNav.pkgNames, declPath);
930 }
930 }
931931
932 if (findSubDecl(curDecl, declName) != null) {
933 const declPath = curNav.declNames.slice(0,i).concat([declName]);
932 if (findSubDecl(curDecl, declName) != null) {
933 const declPath = curNav.declNames.slice(0, i).concat([declName]);
934934 return navLink(curNav.pkgNames, declPath);
935935 }
936936 }
......@@ -1366,10 +1366,6 @@ const NAV_MODES = {
13661366 payloadHtml += "truncate";
13671367 break;
13681368 }
1369 case "align_cast": {
1370 payloadHtml += "alignCast";
1371 break;
1372 }
13731369 case "has_decl": {
13741370 payloadHtml += "hasDecl";
13751371 break;
......@@ -1700,15 +1696,15 @@ const NAV_MODES = {
17001696 }
17011697 case "declRef": {
17021698 const name = getDecl(expr.declRef).name;
1703
1699
17041700 if (opts.wantHtml) {
17051701 let payloadHtml = "";
17061702 if (opts.wantLink) {
1707 payloadHtml += '<a href="'+ findDeclNavLink(name) +'">';
1703 payloadHtml += '<a href="' + findDeclNavLink(name) + '">';
17081704 }
17091705 payloadHtml +=
17101706 '<span class="tok-kw" style="color:lightblue;">' +
1711 name +
1707 name +
17121708 "</span>";
17131709 if (opts.wantLink) payloadHtml += "</a>";
17141710 return payloadHtml;
......@@ -1728,12 +1724,12 @@ const NAV_MODES = {
17281724 if ("string" in expr.refPath[i]) {
17291725 component = expr.refPath[i].string;
17301726 } else {
1731 component = exprName(expr.refPath[i], {...opts, wantLink: false});
1727 component = exprName(expr.refPath[i], { ...opts, wantLink: false });
17321728 if (opts.wantLink && "declRef" in expr.refPath[i]) {
17331729 url += "." + getDecl(expr.refPath[i].declRef).name;
1734 component = '<a href="'+ url +'">' +
1730 component = '<a href="' + url + '">' +
17351731 component +
1736 "</a>";
1732 "</a>";
17371733 }
17381734 }
17391735 name += "." + component;
......@@ -1792,12 +1788,12 @@ const NAV_MODES = {
17921788 name = "struct { ";
17931789 }
17941790 }
1795 if (structObj.fields.length > 1 && opts.wantHtml) {name += "</br>";}
1791 if (structObj.fields.length > 1 && opts.wantHtml) { name += "</br>"; }
17961792 let indent = "";
17971793 if (structObj.fields.length > 1 && opts.wantHtml) {
17981794 indent = "&nbsp;&nbsp;&nbsp;&nbsp;"
17991795 }
1800 if (opts.indent) {
1796 if (opts.indent && structObj.fields.length > 1) {
18011797 indent = opts.indent + indent;
18021798 }
18031799 let structNode = getAstNode(structObj.src);
......@@ -1808,7 +1804,7 @@ const NAV_MODES = {
18081804 field_end += " ";
18091805 }
18101806
1811 for(let i = 0; i < structObj.fields.length; i += 1) {
1807 for (let i = 0; i < structObj.fields.length; i += 1) {
18121808 let fieldNode = getAstNode(structNode.fields[i]);
18131809 let fieldName = fieldNode.name;
18141810 let html = indent;
......@@ -1817,17 +1813,17 @@ const NAV_MODES = {
18171813 }
18181814
18191815 let fieldTypeExpr = structObj.fields[i];
1820 if(!structObj.is_tuple) {
1816 if (!structObj.is_tuple) {
18211817 html += ": ";
18221818 }
18231819
1824 html += exprName(fieldTypeExpr, {...opts, indent: indent});
1820 html += exprName(fieldTypeExpr, { ...opts, indent: indent });
18251821
18261822 html += field_end;
18271823
18281824 name += html;
18291825 }
1830 if (opts.indent) {
1826 if (opts.indent && structObj.fields.length > 1) {
18311827 name += opts.indent;
18321828 }
18331829 name += "}";
......@@ -1850,7 +1846,7 @@ const NAV_MODES = {
18501846 if (enumObj.nonexhaustive) {
18511847 fields_len += 1;
18521848 }
1853 if (fields_len > 1 && opts.wantHtml) {name += "</br>";}
1849 if (fields_len > 1 && opts.wantHtml) { name += "</br>"; }
18541850 let indent = "";
18551851 if (fields_len > 1) {
18561852 if (opts.wantHtml) {
......@@ -1868,10 +1864,10 @@ const NAV_MODES = {
18681864 } else {
18691865 field_end += " ";
18701866 }
1871 for(let i = 0; i < enumNode.fields.length; i += 1) {
1867 for (let i = 0; i < enumNode.fields.length; i += 1) {
18721868 let fieldNode = getAstNode(enumNode.fields[i]);
18731869 let fieldName = fieldNode.name;
1874 let html = indent + escapeHtml(fieldName);
1870 let html = indent + escapeHtml(fieldName);
18751871
18761872 html += field_end;
18771873
......@@ -1895,16 +1891,16 @@ const NAV_MODES = {
18951891 name = "union";
18961892 }
18971893 if (unionObj.auto_tag) {
1898 if (opts.wantHtml) {
1899 name += " (<span class='tok-kw'>enum</span>";
1900 } else {
1901 name += " (enum";
1902 }
1903 if (unionObj.tag) {
1904 name += "(" + exprName(unionObj.tag, opts) + "))";
1905 } else {
1906 name += ")";
1907 }
1894 if (opts.wantHtml) {
1895 name += " (<span class='tok-kw'>enum</span>";
1896 } else {
1897 name += " (enum";
1898 }
1899 if (unionObj.tag) {
1900 name += "(" + exprName(unionObj.tag, opts) + "))";
1901 } else {
1902 name += ")";
1903 }
19081904 } else if (unionObj.tag) {
19091905 name += " (" + exprName(unionObj.tag, opts) + ")";
19101906 }
......@@ -1926,7 +1922,7 @@ const NAV_MODES = {
19261922 } else {
19271923 field_end += " ";
19281924 }
1929 for(let i = 0; i < unionObj.fields.length; i += 1) {
1925 for (let i = 0; i < unionObj.fields.length; i += 1) {
19301926 let fieldNode = getAstNode(unionNode.fields[i]);
19311927 let fieldName = fieldNode.name;
19321928 let html = indent + escapeHtml(fieldName);
......@@ -1934,7 +1930,7 @@ const NAV_MODES = {
19341930 let fieldTypeExpr = unionObj.fields[i];
19351931 html += ": ";
19361932
1937 html += exprName(fieldTypeExpr, {...opts, indent: indent});
1933 html += exprName(fieldTypeExpr, { ...opts, indent: indent });
19381934
19391935 html += field_end;
19401936
......@@ -2163,7 +2159,7 @@ const NAV_MODES = {
21632159 opts.fnDecl = null;
21642160 opts.linkFnNameDecl = null;
21652161 let payloadHtml = "";
2166 if (opts.addParensIfFnSignature && fnObj.src == 0){
2162 if (opts.addParensIfFnSignature && fnObj.src == 0) {
21672163 payloadHtml += "(";
21682164 }
21692165 if (opts.wantHtml) {
......@@ -2179,7 +2175,7 @@ const NAV_MODES = {
21792175 if (linkFnNameDecl) {
21802176 payloadHtml +=
21812177 '<a href="' + linkFnNameDecl + '">' +
2182 escapeHtml(fnDecl.name) +
2178 escapeHtml(fnDecl.name) +
21832179 "</a>";
21842180 } else {
21852181 payloadHtml += escapeHtml(fnDecl.name);
......@@ -2198,7 +2194,7 @@ const NAV_MODES = {
21982194 fields = fnNode.fields;
21992195 isVarArgs = fnNode.varArgs;
22002196 }
2201
2197
22022198 for (let i = 0; i < fnObj.params.length; i += 1) {
22032199 if (i != 0) {
22042200 payloadHtml += ", ";
......@@ -2251,13 +2247,13 @@ const NAV_MODES = {
22512247 } else if ("typeOf" in value) {
22522248 payloadHtml += exprName(value, opts);
22532249 } else if ("typeOf_peer" in value) {
2254 payloadHtml += exprName(value, opts);
2250 payloadHtml += exprName(value, opts);
22552251 } else if ("declRef" in value) {
2256 payloadHtml += exprName(value, opts);
2252 payloadHtml += exprName(value, opts);
22572253 } else if ("call" in value) {
2258 payloadHtml += exprName(value, opts);
2254 payloadHtml += exprName(value, opts);
22592255 } else if ("refPath" in value) {
2260 payloadHtml += exprName(value, opts);
2256 payloadHtml += exprName(value, opts);
22612257 } else if ("type" in value) {
22622258 payloadHtml += exprName(value, opts);
22632259 //payloadHtml += '<span class="tok-kw">' + name + "</span>";
......@@ -2301,7 +2297,7 @@ const NAV_MODES = {
23012297 }
23022298 if (fnObj.ret != null) {
23032299 payloadHtml += exprName(fnObj.ret, {
2304 ...opts,
2300 ...opts,
23052301 addParensIfFnSignature: true,
23062302 });
23072303 } else if (opts.wantHtml) {
......@@ -2310,7 +2306,7 @@ const NAV_MODES = {
23102306 payloadHtml += "anytype";
23112307 }
23122308
2313 if (opts.addParensIfFnSignature && fnObj.src == 0){
2309 if (opts.addParensIfFnSignature && fnObj.src == 0) {
23142310 payloadHtml += ")";
23152311 }
23162312 return payloadHtml;
......@@ -2353,7 +2349,7 @@ const NAV_MODES = {
23532349 ) {
23542350 name = "std";
23552351 } else {
2356 name = exprName({ type: typeObj }, {wantHtml: false, wantLink: false});
2352 name = exprName({ type: typeObj }, { wantHtml: false, wantLink: false });
23572353 }
23582354 if (name != null && name != "") {
23592355 domHdrName.innerText =
......@@ -2644,10 +2640,10 @@ const NAV_MODES = {
26442640 }
26452641
26462642 function sourceFileLink(decl) {
2647 const srcNode = getAstNode(decl.src);
2648 return sourceFileUrlTemplate.
2649 replace("{{file}}", zigAnalysis.files[srcNode.file]).
2650 replace("{{line}}", srcNode.line + 1);
2643 const srcNode = getAstNode(decl.src);
2644 return sourceFileUrlTemplate.
2645 replace("{{file}}", zigAnalysis.files[srcNode.file]).
2646 replace("{{line}}", srcNode.line + 1);
26512647 }
26522648
26532649 function renderContainer(container) {
......@@ -2783,8 +2779,8 @@ const NAV_MODES = {
27832779 if (short != docs) {
27842780 short = markdown(short);
27852781 var long = markdown(docs);
2786 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>";
2782 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>";
27882784 }
27892785 else {
27902786 tdDesc.innerHTML = markdown(short);
......@@ -2818,10 +2814,10 @@ const NAV_MODES = {
28182814 html += ' = <span class="tok-number">' + fieldName + "</span>";
28192815 } else {
28202816 let fieldTypeExpr = container.fields[i];
2821 if(container.kind ==! typeKinds.Struct || !container.is_tuple) {
2817 if (container.kind !== typeKinds.Struct || !container.is_tuple) {
28222818 html += ": ";
28232819 }
2824 html += exprName(fieldTypeExpr, {wantHtml:true, wantLink:true});
2820 html += exprName(fieldTypeExpr, { wantHtml: true, wantLink: true });
28252821 let tsn = typeShorthandName(fieldTypeExpr);
28262822 if (tsn) {
28272823 html += "<span> (" + tsn + ")</span>";
......@@ -3007,8 +3003,8 @@ const NAV_MODES = {
30073003 throw new Error("No type 'type' found");
30083004 }
30093005
3010
3011 function updateCurNav() {
3006
3007 function updateCurNav() {
30123008 curNav = {
30133009 mode: NAV_MODES.API,
30143010 pkgNames: [],
......@@ -3021,7 +3017,7 @@ const NAV_MODES = {
30213017
30223018 const mode = location.hash.substring(0, 3);
30233019 let query = location.hash.substring(3);
3024
3020
30253021 const DEFAULT_HASH = NAV_MODES.API + zigAnalysis.packages[zigAnalysis.rootPkg].name;
30263022 switch (mode) {
30273023 case NAV_MODES.API:
......@@ -3037,7 +3033,7 @@ const NAV_MODES = {
30373033 nonSearchPart = query.substring(0, qpos);
30383034 curNavSearch = decodeURIComponent(query.substring(qpos + 1));
30393035 }
3040
3036
30413037 let parts = nonSearchPart.split(":");
30423038 if (parts[0] == "") {
30433039 location.hash = DEFAULT_HASH;
......@@ -3059,14 +3055,14 @@ const NAV_MODES = {
30593055
30603056 curNav.mode = mode;
30613057 curNav.activeGuide = query;
3062
3058
30633059 return;
30643060 default:
30653061 location.hash = DEFAULT_HASH;
30663062 return;
30673063 }
3068 }
3069
3064 }
3065
30703066 function onHashChange() {
30713067 updateCurNav();
30723068 if (domSearch.value !== curNavSearch) {
......@@ -3103,7 +3099,7 @@ const NAV_MODES = {
31033099 if (!callee.generic_ret) return null;
31043100 resolvedGenericRet = resolveValue({ expr: callee.generic_ret });
31053101 }
3106
3102
31073103 if ("type" in resolvedGenericRet.expr) {
31083104 parentType = getType(resolvedGenericRet.expr.type);
31093105 }
......@@ -3248,7 +3244,7 @@ const NAV_MODES = {
32483244 });
32493245 }
32503246
3251 function shortDesc(docs){
3247 function shortDesc(docs) {
32523248 const trimmed_docs = docs.trim();
32533249 let index = trimmed_docs.indexOf("\n\n");
32543250 let cut = false;
src/Autodoc.zig+1-1
......@@ -3629,7 +3629,7 @@ fn tryResolveRefPath(
36293629 }
36303630
36313631 if (self.pending_ref_paths.get(&path[path.len - 1])) |waiter_list| {
3632 // It's important to de-register oureslves as pending before
3632 // It's important to de-register ourselves as pending before
36333633 // attempting to resolve any other decl.
36343634 _ = self.pending_ref_paths.remove(&path[path.len - 1]);
36353635