generated docs: separate section for namespaces
if a type is a struct with no fields, then it goes in the namespaces section.
This commit is contained in:
parent
c4e4fa2287
commit
8d5e3a2f33
|
@ -321,6 +321,11 @@
|
|||
<ul id="listTypes">
|
||||
</ul>
|
||||
</div>
|
||||
<div id="sectNamespaces" class="hidden">
|
||||
<h2>Namespaces</h2>
|
||||
<ul id="listNamespaces">
|
||||
</ul>
|
||||
</div>
|
||||
<div id="sectGlobalVars" class="hidden">
|
||||
<h2>Global Variables</h2>
|
||||
<table>
|
||||
|
|
|
@ -6,6 +6,8 @@
|
|||
var domListPkgs = document.getElementById("listPkgs");
|
||||
var domSectTypes = document.getElementById("sectTypes");
|
||||
var domListTypes = document.getElementById("listTypes");
|
||||
var domSectNamespaces = document.getElementById("sectNamespaces");
|
||||
var domListNamespaces = document.getElementById("listNamespaces");
|
||||
var domSectErrSets = document.getElementById("sectErrSets");
|
||||
var domListErrSets = document.getElementById("listErrSets");
|
||||
var domSectFns = document.getElementById("sectFns");
|
||||
|
@ -47,6 +49,7 @@
|
|||
var typeKindNoReturnId;
|
||||
var typeKindErrSetId;
|
||||
var typeKindErrUnionId;
|
||||
var typeKindStructId;
|
||||
findTypeKinds();
|
||||
|
||||
// for each package, is an array with packages to get to this one
|
||||
|
@ -104,6 +107,7 @@
|
|||
domFnDocs.classList.add("hidden");
|
||||
domSectPkgs.classList.add("hidden");
|
||||
domSectTypes.classList.add("hidden");
|
||||
domSectNamespaces.classList.add("hidden");
|
||||
domSectErrSets.classList.add("hidden");
|
||||
domSectFns.classList.add("hidden");
|
||||
domSectFields.classList.add("hidden");
|
||||
|
@ -185,6 +189,13 @@
|
|||
return typeObj.kind === typeKindErrSetId;
|
||||
}
|
||||
|
||||
function typeIsStructWithNoFields(typeIndex) {
|
||||
var typeObj = zigAnalysis.types[typeIndex];
|
||||
if (typeObj.kind !== typeKindStructId)
|
||||
return false;
|
||||
return typeObj.fields == null || typeObj.fields.length === 0;
|
||||
}
|
||||
|
||||
function typeIsGenericFn(typeIndex) {
|
||||
var typeObj = zigAnalysis.types[typeIndex];
|
||||
if (typeObj.kind !== typeKindFnId) {
|
||||
|
@ -628,6 +639,7 @@
|
|||
|
||||
function renderContainer(container) {
|
||||
var typesList = [];
|
||||
var namespacesList = [];
|
||||
var errSetsList = [];
|
||||
var fnsList = [];
|
||||
var varsList = [];
|
||||
|
@ -641,6 +653,8 @@
|
|||
if (decl.type == typeTypeId) {
|
||||
if (typeIsErrSet(decl.value)) {
|
||||
errSetsList.push(decl);
|
||||
} else if (typeIsStructWithNoFields(decl.value)) {
|
||||
namespacesList.push(decl);
|
||||
} else {
|
||||
typesList.push(decl);
|
||||
}
|
||||
|
@ -659,6 +673,9 @@
|
|||
typesList.sort(function(a, b) {
|
||||
return operatorCompare(a.name, b.name);
|
||||
});
|
||||
namespacesList.sort(function(a, b) {
|
||||
return operatorCompare(a.name, b.name);
|
||||
});
|
||||
errSetsList.sort(function(a, b) {
|
||||
return operatorCompare(a.name, b.name);
|
||||
});
|
||||
|
@ -680,6 +697,17 @@
|
|||
}
|
||||
domSectTypes.classList.remove("hidden");
|
||||
}
|
||||
if (namespacesList.length !== 0) {
|
||||
resizeDomList(domListNamespaces, namespacesList.length, '<li><a href="#"></a></li>');
|
||||
for (var i = 0; i < namespacesList.length; i += 1) {
|
||||
var liDom = domListNamespaces.children[i];
|
||||
var aDom = liDom.children[0];
|
||||
var decl = namespacesList[i];
|
||||
aDom.textContent = decl.name;
|
||||
aDom.setAttribute('href', navLinkDecl(decl.name));
|
||||
}
|
||||
domSectNamespaces.classList.remove("hidden");
|
||||
}
|
||||
|
||||
if (errSetsList.length !== 0) {
|
||||
resizeDomList(domListErrSets, errSetsList.length, '<li><a href="#"></a></li>');
|
||||
|
@ -816,6 +844,8 @@
|
|||
typeKindErrSetId = i;
|
||||
} else if (zigAnalysis.typeKinds[i] === "ErrorUnion") {
|
||||
typeKindErrUnionId = i;
|
||||
} else if (zigAnalysis.typeKinds[i] === "Struct") {
|
||||
typeKindStructId = i;
|
||||
}
|
||||
}
|
||||
if (typeKindTypeId == null) {
|
||||
|
@ -848,6 +878,9 @@
|
|||
if (typeKindErrUnionId == null) {
|
||||
throw new Error("No type kind 'ErrorUnion' found");
|
||||
}
|
||||
if (typeKindStructId == null) {
|
||||
throw new Error("No type kind 'Struct' found");
|
||||
}
|
||||
}
|
||||
|
||||
function findTypeTypeId() {
|
||||
|
|
Loading…
Reference in New Issue
Block a user