diff --git a/lib/std/special/docs/index.html b/lib/std/special/docs/index.html
index e2c9fbfc7..068ad069d 100644
--- a/lib/std/special/docs/index.html
+++ b/lib/std/special/docs/index.html
@@ -321,6 +321,11 @@
+
Global Variables
diff --git a/lib/std/special/docs/main.js b/lib/std/special/docs/main.js
index 8afcaa1e1..f45aad3e3 100644
--- a/lib/std/special/docs/main.js
+++ b/lib/std/special/docs/main.js
@@ -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, '');
+ 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, '');
@@ -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() {