generated docs: separate Error Sets from Types

This commit is contained in:
Andrew Kelley 2019-10-08 23:33:19 -04:00
parent 1586f244c4
commit 71fb4ef8da
No known key found for this signature in database
GPG Key ID: 7C5F548F728501A9
2 changed files with 34 additions and 1 deletions

View File

@ -330,6 +330,11 @@
<ul id="listFns">
</ul>
</div>
<div id="sectErrSets" class="hidden">
<h2>Error Sets</h2>
<ul id="listErrSets">
</ul>
</div>
</section>
<div id="helpDialog" class="hidden">
<h1>Keyboard Shortcuts</h1>

View File

@ -6,6 +6,8 @@
var domListPkgs = document.getElementById("listPkgs");
var domSectTypes = document.getElementById("sectTypes");
var domListTypes = document.getElementById("listTypes");
var domSectErrSets = document.getElementById("sectErrSets");
var domListErrSets = document.getElementById("listErrSets");
var domSectFns = document.getElementById("sectFns");
var domListFns = document.getElementById("listFns");
var domSectFields = document.getElementById("sectFields");
@ -101,6 +103,7 @@
domFnDocs.classList.add("hidden");
domSectPkgs.classList.add("hidden");
domSectTypes.classList.add("hidden");
domSectErrSets.classList.add("hidden");
domSectFns.classList.add("hidden");
domSectFields.classList.add("hidden");
domSectSearchResults.classList.add("hidden");
@ -174,6 +177,11 @@
}
}
function typeIsErrSet(typeIndex) {
var typeObj = zigAnalysis.types[typeIndex];
return typeObj.kind === typeKindErrSetId;
}
function typeIsGenericFn(typeIndex) {
var typeObj = zigAnalysis.types[typeIndex];
if (typeObj.kind !== typeKindFnId) {
@ -578,6 +586,7 @@
function renderContainer(container) {
var typesList = [];
var errSetsList = [];
var fnsList = [];
var varsList = [];
for (var i = 0; i < container.pubDecls.length; i += 1) {
@ -588,7 +597,11 @@
}
if (decl.type != null) {
if (decl.type == typeTypeId) {
typesList.push(decl);
if (typeIsErrSet(decl.value)) {
errSetsList.push(decl);
} else {
typesList.push(decl);
}
} else {
var typeKind = zigAnalysis.types[decl.type].kind;
if (typeKind === typeKindFnId) {
@ -604,6 +617,9 @@
typesList.sort(function(a, b) {
return operatorCompare(a.name, b.name);
});
errSetsList.sort(function(a, b) {
return operatorCompare(a.name, b.name);
});
fnsList.sort(function(a, b) {
return operatorCompare(a.name, b.name);
});
@ -623,6 +639,18 @@
domSectTypes.classList.remove("hidden");
}
if (errSetsList.length !== 0) {
resizeDomList(domListErrSets, errSetsList.length, '<li><a href="#"></a></li>');
for (var i = 0; i < errSetsList.length; i += 1) {
var liDom = domListErrSets.children[i];
var aDom = liDom.children[0];
var decl = errSetsList[i];
aDom.textContent = decl.name;
aDom.setAttribute('href', navLinkDecl(decl.name));
}
domSectErrSets.classList.remove("hidden");
}
if (fnsList.length !== 0) {
resizeDomList(domListFns, fnsList.length, '<li><a href="#"></a></li>');
for (var i = 0; i < fnsList.length; i += 1) {