diff --git a/lib/docs/main.js b/lib/docs/main.js index fae39c5fba..2e88c04814 100644 --- a/lib/docs/main.js +++ b/lib/docs/main.js @@ -106,7 +106,7 @@ const NAV_MODES = { // empty array means refers to the package itself declNames: [], // these will be all types, except the last one may be a type or a decl - declObjs: [], + declObjs: [], // (a, b, c, d) comptime call; result is the value the docs refer to callName: null, }; @@ -200,7 +200,7 @@ const NAV_MODES = { case NAV_MODES.GUIDES: document.title = "[G] " + curNav.activeGuide + suffix; return; - } + } } function isDecl(x) { @@ -401,7 +401,7 @@ const NAV_MODES = { domGuideSwitch.classList.add("active"); domApiSwitch.classList.remove("active"); domDocs.classList.add("hidden"); - domGuides.classList.remove("hidden"); + domGuides.classList.remove("hidden"); domApiMenu.classList.add("hidden"); // sidebar guides list @@ -422,7 +422,7 @@ const NAV_MODES = { if (list.length > 0) { domGuidesMenu.classList.remove("hidden"); } - + // main content const activeGuide = zigAnalysis.guides[curNav.activeGuide]; if (activeGuide == undefined) { @@ -454,7 +454,7 @@ const NAV_MODES = { Happy writing! `); - } else { + } else { domGuides.innerHTML = markdown(activeGuide); } } @@ -467,7 +467,7 @@ const NAV_MODES = { domDocs.classList.remove("hidden"); domApiMenu.classList.remove("hidden"); domGuidesMenu.classList.add("hidden"); - + domStatus.classList.add("hidden"); domFnProto.classList.add("hidden"); domSectParams.classList.add("hidden"); @@ -537,9 +537,9 @@ const NAV_MODES = { currentType = childDecl; curNav.declObjs.push(currentType); } - - - + + + window.x = currentType; renderNav(); @@ -586,15 +586,15 @@ const NAV_MODES = { switch (curNav.mode) { case NAV_MODES.API: case NAV_MODES.API_INTERNAL: - return renderApi(); + return renderApi(); case NAV_MODES.GUIDES: - return renderGuides(); + return renderGuides(); default: - throw "?"; - } + throw "?"; + } } - + function renderDocTest(decl) { if (!decl.decltest) return; const astNode = getAstNode(decl.decltest); @@ -651,7 +651,7 @@ const NAV_MODES = { wantLink: true, fnDecl, }); - + domFnSourceLink.innerHTML = "[src]"; let docsSource = null; @@ -895,7 +895,7 @@ const NAV_MODES = { function navLink(pkgNames, declNames, callName) { let base = curNav.mode; - + if (pkgNames.length === 0 && declNames.length === 0) { return base; } else if (declNames.length === 0 && callName == null) { @@ -919,18 +919,18 @@ const NAV_MODES = { function findDeclNavLink(declName) { if (curNav.declObjs.length == 0) return null; - const curFile = getAstNode(curNav.declObjs[curNav.declObjs.length-1].src).file; - - for (let i = curNav.declObjs.length -1; i >= 0; i--) { - const curDecl = curNav.declObjs[i]; - const curDeclName = curNav.declNames[i-1]; - if (curDeclName == declName) { - const declPath = curNav.declNames.slice(0,i); - return navLink(curNav.pkgNames, declPath); - } + const curFile = getAstNode(curNav.declObjs[curNav.declObjs.length - 1].src).file; - if (findSubDecl(curDecl, declName) != null) { - const declPath = curNav.declNames.slice(0,i).concat([declName]); + for (let i = curNav.declObjs.length - 1; i >= 0; i--) { + const curDecl = curNav.declObjs[i]; + const curDeclName = curNav.declNames[i - 1]; + if (curDeclName == declName) { + const declPath = curNav.declNames.slice(0, i); + return navLink(curNav.pkgNames, declPath); + } + + if (findSubDecl(curDecl, declName) != null) { + const declPath = curNav.declNames.slice(0, i).concat([declName]); return navLink(curNav.pkgNames, declPath); } } @@ -1362,10 +1362,6 @@ const NAV_MODES = { payloadHtml += "truncate"; break; } - case "align_cast": { - payloadHtml += "alignCast"; - break; - } case "has_decl": { payloadHtml += "hasDecl"; break; @@ -1696,15 +1692,15 @@ const NAV_MODES = { } case "declRef": { const name = getDecl(expr.declRef).name; - + if (opts.wantHtml) { let payloadHtml = ""; if (opts.wantLink) { - payloadHtml += ''; + payloadHtml += ''; } payloadHtml += '' + - name + + name + ""; if (opts.wantLink) payloadHtml += ""; return payloadHtml; @@ -1724,12 +1720,12 @@ const NAV_MODES = { if ("string" in expr.refPath[i]) { component = expr.refPath[i].string; } else { - component = exprName(expr.refPath[i], {...opts, wantLink: false}); + component = exprName(expr.refPath[i], { ...opts, wantLink: false }); if (opts.wantLink && "declRef" in expr.refPath[i]) { url += "." + getDecl(expr.refPath[i].declRef).name; - component = '' + + component = '' + component + - ""; + ""; } } name += "." + component; @@ -1788,7 +1784,7 @@ const NAV_MODES = { name = "struct { "; } } - if (structObj.fields.length > 1 && opts.wantHtml) {name += "
";} + if (structObj.fields.length > 1 && opts.wantHtml) { name += "
"; } let indent = ""; if (structObj.fields.length > 1 && opts.wantHtml) { indent = "    " @@ -1804,7 +1800,7 @@ const NAV_MODES = { field_end += " "; } - for(let i = 0; i < structObj.fields.length; i += 1) { + for (let i = 0; i < structObj.fields.length; i += 1) { let fieldNode = getAstNode(structNode.fields[i]); let fieldName = fieldNode.name; let html = indent; @@ -1813,11 +1809,11 @@ const NAV_MODES = { } let fieldTypeExpr = structObj.fields[i]; - if(!structObj.is_tuple) { + if (!structObj.is_tuple) { html += ": "; } - html += exprName(fieldTypeExpr, {...opts, indent: indent}); + html += exprName(fieldTypeExpr, { ...opts, indent: indent }); html += field_end; @@ -1846,7 +1842,7 @@ const NAV_MODES = { if (enumObj.nonexhaustive) { fields_len += 1; } - if (fields_len > 1 && opts.wantHtml) {name += "
";} + if (fields_len > 1 && opts.wantHtml) { name += "
"; } let indent = ""; if (fields_len > 1) { if (opts.wantHtml) { @@ -1864,10 +1860,10 @@ const NAV_MODES = { } else { field_end += " "; } - for(let i = 0; i < enumNode.fields.length; i += 1) { + for (let i = 0; i < enumNode.fields.length; i += 1) { let fieldNode = getAstNode(enumNode.fields[i]); let fieldName = fieldNode.name; - let html = indent + escapeHtml(fieldName); + let html = indent + escapeHtml(fieldName); html += field_end; @@ -1891,16 +1887,16 @@ const NAV_MODES = { name = "union"; } if (unionObj.auto_tag) { - if (opts.wantHtml) { - name += " (enum"; - } else { - name += " (enum"; - } - if (unionObj.tag) { - name += "(" + exprName(unionObj.tag, opts) + "))"; - } else { - name += ")"; - } + if (opts.wantHtml) { + name += " (enum"; + } else { + name += " (enum"; + } + if (unionObj.tag) { + name += "(" + exprName(unionObj.tag, opts) + "))"; + } else { + name += ")"; + } } else if (unionObj.tag) { name += " (" + exprName(unionObj.tag, opts) + ")"; } @@ -1922,7 +1918,7 @@ const NAV_MODES = { } else { field_end += " "; } - for(let i = 0; i < unionObj.fields.length; i += 1) { + for (let i = 0; i < unionObj.fields.length; i += 1) { let fieldNode = getAstNode(unionNode.fields[i]); let fieldName = fieldNode.name; let html = indent + escapeHtml(fieldName); @@ -1930,7 +1926,7 @@ const NAV_MODES = { let fieldTypeExpr = unionObj.fields[i]; html += ": "; - html += exprName(fieldTypeExpr, {...opts, indent: indent}); + html += exprName(fieldTypeExpr, { ...opts, indent: indent }); html += field_end; @@ -2159,7 +2155,7 @@ const NAV_MODES = { opts.fnDecl = null; opts.linkFnNameDecl = null; let payloadHtml = ""; - if (opts.addParensIfFnSignature && fnObj.src == 0){ + if (opts.addParensIfFnSignature && fnObj.src == 0) { payloadHtml += "("; } if (opts.wantHtml) { @@ -2175,7 +2171,7 @@ const NAV_MODES = { if (linkFnNameDecl) { payloadHtml += '' + - escapeHtml(fnDecl.name) + + escapeHtml(fnDecl.name) + ""; } else { payloadHtml += escapeHtml(fnDecl.name); @@ -2194,7 +2190,7 @@ const NAV_MODES = { fields = fnNode.fields; isVarArgs = fnNode.varArgs; } - + for (let i = 0; i < fnObj.params.length; i += 1) { if (i != 0) { payloadHtml += ", "; @@ -2247,13 +2243,13 @@ const NAV_MODES = { } else if ("typeOf" in value) { payloadHtml += exprName(value, opts); } else if ("typeOf_peer" in value) { - payloadHtml += exprName(value, opts); + payloadHtml += exprName(value, opts); } else if ("declRef" in value) { - payloadHtml += exprName(value, opts); + payloadHtml += exprName(value, opts); } else if ("call" in value) { - payloadHtml += exprName(value, opts); + payloadHtml += exprName(value, opts); } else if ("refPath" in value) { - payloadHtml += exprName(value, opts); + payloadHtml += exprName(value, opts); } else if ("type" in value) { payloadHtml += exprName(value, opts); //payloadHtml += '' + name + ""; @@ -2297,7 +2293,7 @@ const NAV_MODES = { } if (fnObj.ret != null) { payloadHtml += exprName(fnObj.ret, { - ...opts, + ...opts, addParensIfFnSignature: true, }); } else if (opts.wantHtml) { @@ -2306,7 +2302,7 @@ const NAV_MODES = { payloadHtml += "anytype"; } - if (opts.addParensIfFnSignature && fnObj.src == 0){ + if (opts.addParensIfFnSignature && fnObj.src == 0) { payloadHtml += ")"; } return payloadHtml; @@ -2349,7 +2345,7 @@ const NAV_MODES = { ) { name = "std"; } else { - name = exprName({ type: typeObj }, {wantHtml: false, wantLink: false}); + name = exprName({ type: typeObj }, { wantHtml: false, wantLink: false }); } if (name != null && name != "") { domHdrName.innerText = @@ -2640,10 +2636,10 @@ const NAV_MODES = { } function sourceFileLink(decl) { - const srcNode = getAstNode(decl.src); - return sourceFileUrlTemplate. - replace("{{file}}", zigAnalysis.files[srcNode.file]). - replace("{{line}}", srcNode.line + 1); + const srcNode = getAstNode(decl.src); + return sourceFileUrlTemplate. + replace("{{file}}", zigAnalysis.files[srcNode.file]). + replace("{{line}}", srcNode.line + 1); } function renderContainer(container) { @@ -2779,8 +2775,8 @@ const NAV_MODES = { if (short != docs) { short = markdown(short); var long = markdown(docs); - tdDesc.innerHTML = - "
" + short + "
" + "
" + long + "
"; + tdDesc.innerHTML = + "
" + short + "
" + "
" + long + "
"; } else { tdDesc.innerHTML = markdown(short); @@ -2814,10 +2810,10 @@ const NAV_MODES = { html += ' = ' + fieldName + ""; } else { let fieldTypeExpr = container.fields[i]; - if(container.kind ==! typeKinds.Struct || !container.is_tuple) { + if (container.kind !== typeKinds.Struct || !container.is_tuple) { html += ": "; } - html += exprName(fieldTypeExpr, {wantHtml:true, wantLink:true}); + html += exprName(fieldTypeExpr, { wantHtml: true, wantLink: true }); let tsn = typeShorthandName(fieldTypeExpr); if (tsn) { html += " (" + tsn + ")"; @@ -3003,8 +2999,8 @@ const NAV_MODES = { throw new Error("No type 'type' found"); } - - function updateCurNav() { + + function updateCurNav() { curNav = { mode: NAV_MODES.API, pkgNames: [], @@ -3017,7 +3013,7 @@ const NAV_MODES = { const mode = location.hash.substring(0, 3); let query = location.hash.substring(3); - + const DEFAULT_HASH = NAV_MODES.API + zigAnalysis.packages[zigAnalysis.rootPkg].name; switch (mode) { case NAV_MODES.API: @@ -3033,7 +3029,7 @@ const NAV_MODES = { nonSearchPart = query.substring(0, qpos); curNavSearch = decodeURIComponent(query.substring(qpos + 1)); } - + let parts = nonSearchPart.split(":"); if (parts[0] == "") { location.hash = DEFAULT_HASH; @@ -3055,14 +3051,14 @@ const NAV_MODES = { curNav.mode = mode; curNav.activeGuide = query; - + return; default: location.hash = DEFAULT_HASH; return; } - } - + } + function onHashChange() { updateCurNav(); if (domSearch.value !== curNavSearch) { @@ -3099,7 +3095,7 @@ const NAV_MODES = { if (!callee.generic_ret) return null; resolvedGenericRet = resolveValue({ expr: callee.generic_ret }); } - + if ("type" in resolvedGenericRet.expr) { parentType = getType(resolvedGenericRet.expr.type); } @@ -3244,7 +3240,7 @@ const NAV_MODES = { }); } - function shortDesc(docs){ + function shortDesc(docs) { const trimmed_docs = docs.trim(); let index = trimmed_docs.indexOf("\n\n"); let cut = false;