diff options
Diffstat (limited to 'lib/docs/main.js')
| -rw-r--r-- | lib/docs/main.js | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/lib/docs/main.js b/lib/docs/main.js index 28e8b32472..b02b061eb4 100644 --- a/lib/docs/main.js +++ b/lib/docs/main.js @@ -13,6 +13,8 @@ var zigAnalysis; const domListTypes = document.getElementById("listTypes"); const domSectTests = document.getElementById("sectTests"); const domListTests = document.getElementById("listTests"); + const domSectDocTests = document.getElementById("sectDocTests"); + const domDocTestsCode = document.getElementById("docTestsCode"); const domSectNamespaces = document.getElementById("sectNamespaces"); const domListNamespaces = document.getElementById("listNamespaces"); const domSectErrSets = document.getElementById("sectErrSets"); @@ -241,7 +243,8 @@ var zigAnalysis; return ( typeKind === typeKinds.Struct || typeKind === typeKinds.Union || - typeKind === typeKinds.Enum + typeKind === typeKinds.Enum || + typeKind === typeKinds.Opaque ); } @@ -384,6 +387,7 @@ var zigAnalysis; domSectPkgs.classList.add("hidden"); domSectTypes.classList.add("hidden"); domSectTests.classList.add("hidden"); + domSectDocTests.classList.add("hidden"); domSectNamespaces.classList.add("hidden"); domSectErrSets.classList.add("hidden"); domSectFns.classList.add("hidden"); @@ -452,6 +456,10 @@ var zigAnalysis; let lastIsDecl = isDecl(last); let lastIsType = isType(last); let lastIsContainerType = isContainerType(last); + + if (lastIsDecl){ + renderDocTest(last); + } if (lastIsContainerType) { return renderContainer(last); @@ -477,6 +485,14 @@ var zigAnalysis; return renderValue(last); } + + } + + function renderDocTest(decl) { + if (!("decltest" in decl)) return; + const astNode = zigAnalysis.astNodes[decl.decltest]; + domSectDocTests.classList.remove("hidden"); + domDocTestsCode.innerHTML = astNode.code; } function renderUnknownDecl(decl) { @@ -1609,8 +1625,7 @@ var zigAnalysis; } case typeKinds.Opaque: { let opaqueObj = typeObj; - - return opaqueObj.name; + return opaqueObj; } case typeKinds.ComptimeExpr: { return "anyopaque"; @@ -2421,24 +2436,26 @@ var zigAnalysis; resizeDomList( domListFns, fnsList.length, - "<div><dt></dt><dd></dd></div>" + "<div><dt><div class=\"fnSignature\"></div><div></div></dt><dd></dd></div>" ); for (let i = 0; i < fnsList.length; i += 1) { let decl = fnsList[i]; let trDom = domListFns.children[i]; - let tdFnCode = trDom.children[0]; + let tdFnSignature = trDom.children[0].children[0]; + let tdFnSrc = trDom.children[0].children[1]; let tdDesc = trDom.children[1]; let declType = resolveValue(decl.value); console.assert("type" in declType.expr); - tdFnCode.innerHTML = exprName(declType.expr, { + tdFnSignature.innerHTML = exprName(declType.expr, { wantHtml: true, wantLink: true, fnDecl: decl, linkFnNameDecl: navLinkDecl(decl.name), - }) + renderSourceFileLink(decl); + }); + tdFnSrc.innerHTML = renderSourceFileLink(decl); let docs = zigAnalysis.astNodes[decl.src].docs; if (docs != null) { |
