authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-10-09 15:52:55-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-10-09 15:52:55-04:00
log8d5e3a2f332e1fb09da8b221888c87a6fbf18f8e
treef31180a35066bc675cf3ca6de593454e9474bdbf
parentc4e4fa22877d2929d585f1fea1b2fc82ec8e2d1d
signaturelock-open Commit is signed but in an unrecognized format.

generated docs: separate section for namespaces

if a type is a struct with no fields, then it goes in the namespaces section.

2 files changed, 38 insertions(+), 0 deletions(-)

lib/std/special/docs/index.html+5
...@@ -321,6 +321,11 @@...@@ -321,6 +321,11 @@
321 <ul id="listTypes">321 <ul id="listTypes">
322 </ul>322 </ul>
323 </div>323 </div>
324 <div id="sectNamespaces" class="hidden">
325 <h2>Namespaces</h2>
326 <ul id="listNamespaces">
327 </ul>
328 </div>
324 <div id="sectGlobalVars" class="hidden">329 <div id="sectGlobalVars" class="hidden">
325 <h2>Global Variables</h2>330 <h2>Global Variables</h2>
326 <table>331 <table>
lib/std/special/docs/main.js+33
...@@ -6,6 +6,8 @@...@@ -6,6 +6,8 @@
6 var domListPkgs = document.getElementById("listPkgs");6 var domListPkgs = document.getElementById("listPkgs");
7 var domSectTypes = document.getElementById("sectTypes");7 var domSectTypes = document.getElementById("sectTypes");
8 var domListTypes = document.getElementById("listTypes");8 var domListTypes = document.getElementById("listTypes");
9 var domSectNamespaces = document.getElementById("sectNamespaces");
10 var domListNamespaces = document.getElementById("listNamespaces");
9 var domSectErrSets = document.getElementById("sectErrSets");11 var domSectErrSets = document.getElementById("sectErrSets");
10 var domListErrSets = document.getElementById("listErrSets");12 var domListErrSets = document.getElementById("listErrSets");
11 var domSectFns = document.getElementById("sectFns");13 var domSectFns = document.getElementById("sectFns");
...@@ -47,6 +49,7 @@...@@ -47,6 +49,7 @@
47 var typeKindNoReturnId;49 var typeKindNoReturnId;
48 var typeKindErrSetId;50 var typeKindErrSetId;
49 var typeKindErrUnionId;51 var typeKindErrUnionId;
52 var typeKindStructId;
50 findTypeKinds();53 findTypeKinds();
5154
52 // for each package, is an array with packages to get to this one55 // for each package, is an array with packages to get to this one
...@@ -104,6 +107,7 @@...@@ -104,6 +107,7 @@
104 domFnDocs.classList.add("hidden");107 domFnDocs.classList.add("hidden");
105 domSectPkgs.classList.add("hidden");108 domSectPkgs.classList.add("hidden");
106 domSectTypes.classList.add("hidden");109 domSectTypes.classList.add("hidden");
110 domSectNamespaces.classList.add("hidden");
107 domSectErrSets.classList.add("hidden");111 domSectErrSets.classList.add("hidden");
108 domSectFns.classList.add("hidden");112 domSectFns.classList.add("hidden");
109 domSectFields.classList.add("hidden");113 domSectFields.classList.add("hidden");
...@@ -185,6 +189,13 @@...@@ -185,6 +189,13 @@
185 return typeObj.kind === typeKindErrSetId;189 return typeObj.kind === typeKindErrSetId;
186 }190 }
187191
192 function typeIsStructWithNoFields(typeIndex) {
193 var typeObj = zigAnalysis.types[typeIndex];
194 if (typeObj.kind !== typeKindStructId)
195 return false;
196 return typeObj.fields == null || typeObj.fields.length === 0;
197 }
198
188 function typeIsGenericFn(typeIndex) {199 function typeIsGenericFn(typeIndex) {
189 var typeObj = zigAnalysis.types[typeIndex];200 var typeObj = zigAnalysis.types[typeIndex];
190 if (typeObj.kind !== typeKindFnId) {201 if (typeObj.kind !== typeKindFnId) {
...@@ -628,6 +639,7 @@...@@ -628,6 +639,7 @@
628639
629 function renderContainer(container) {640 function renderContainer(container) {
630 var typesList = [];641 var typesList = [];
642 var namespacesList = [];
631 var errSetsList = [];643 var errSetsList = [];
632 var fnsList = [];644 var fnsList = [];
633 var varsList = [];645 var varsList = [];
...@@ -641,6 +653,8 @@...@@ -641,6 +653,8 @@
641 if (decl.type == typeTypeId) {653 if (decl.type == typeTypeId) {
642 if (typeIsErrSet(decl.value)) {654 if (typeIsErrSet(decl.value)) {
643 errSetsList.push(decl);655 errSetsList.push(decl);
656 } else if (typeIsStructWithNoFields(decl.value)) {
657 namespacesList.push(decl);
644 } else {658 } else {
645 typesList.push(decl);659 typesList.push(decl);
646 }660 }
...@@ -659,6 +673,9 @@...@@ -659,6 +673,9 @@
659 typesList.sort(function(a, b) {673 typesList.sort(function(a, b) {
660 return operatorCompare(a.name, b.name);674 return operatorCompare(a.name, b.name);
661 });675 });
676 namespacesList.sort(function(a, b) {
677 return operatorCompare(a.name, b.name);
678 });
662 errSetsList.sort(function(a, b) {679 errSetsList.sort(function(a, b) {
663 return operatorCompare(a.name, b.name);680 return operatorCompare(a.name, b.name);
664 });681 });
...@@ -680,6 +697,17 @@...@@ -680,6 +697,17 @@
680 }697 }
681 domSectTypes.classList.remove("hidden");698 domSectTypes.classList.remove("hidden");
682 }699 }
700 if (namespacesList.length !== 0) {
701 resizeDomList(domListNamespaces, namespacesList.length, '<li><a href="#"></a></li>');
702 for (var i = 0; i < namespacesList.length; i += 1) {
703 var liDom = domListNamespaces.children[i];
704 var aDom = liDom.children[0];
705 var decl = namespacesList[i];
706 aDom.textContent = decl.name;
707 aDom.setAttribute('href', navLinkDecl(decl.name));
708 }
709 domSectNamespaces.classList.remove("hidden");
710 }
683711
684 if (errSetsList.length !== 0) {712 if (errSetsList.length !== 0) {
685 resizeDomList(domListErrSets, errSetsList.length, '<li><a href="#"></a></li>');713 resizeDomList(domListErrSets, errSetsList.length, '<li><a href="#"></a></li>');
...@@ -816,6 +844,8 @@...@@ -816,6 +844,8 @@
816 typeKindErrSetId = i;844 typeKindErrSetId = i;
817 } else if (zigAnalysis.typeKinds[i] === "ErrorUnion") {845 } else if (zigAnalysis.typeKinds[i] === "ErrorUnion") {
818 typeKindErrUnionId = i;846 typeKindErrUnionId = i;
847 } else if (zigAnalysis.typeKinds[i] === "Struct") {
848 typeKindStructId = i;
819 }849 }
820 }850 }
821 if (typeKindTypeId == null) {851 if (typeKindTypeId == null) {
...@@ -848,6 +878,9 @@...@@ -848,6 +878,9 @@
848 if (typeKindErrUnionId == null) {878 if (typeKindErrUnionId == null) {
849 throw new Error("No type kind 'ErrorUnion' found");879 throw new Error("No type kind 'ErrorUnion' found");
850 }880 }
881 if (typeKindStructId == null) {
882 throw new Error("No type kind 'Struct' found");
883 }
851 }884 }
852885
853 function findTypeTypeId() {886 function findTypeTypeId() {