authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-10-08 22:39:12-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-10-08 22:39:12-04:00
logca3250a57c9d0c4011b66b32c500750087070a08
tree8f17ae2823ebd40f677967d3c61331c529072689
parentcdaaf7c725660de4a9c081abe1ee4078352905c5
signaturelock-open Commit is signed but in an unrecognized format.

generated docs: add global variables

See #3409

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

lib/std/special/docs/index.html+5
...@@ -308,6 +308,11 @@...@@ -308,6 +308,11 @@
308 <ul id="listTypes">308 <ul id="listTypes">
309 </ul>309 </ul>
310 </div>310 </div>
311 <div id="sectGlobalVars" class="hidden">
312 <h2>Global Variables</h2>
313 <div id="listGlobalVars">
314 </div>
315 </div>
311 <div id="sectFns" class="hidden">316 <div id="sectFns" class="hidden">
312 <h2>Functions</h2>317 <h2>Functions</h2>
313 <ul id="listFns">318 <ul id="listFns">
lib/std/special/docs/main.js+33
...@@ -10,6 +10,8 @@...@@ -10,6 +10,8 @@
10 var domListFns = document.getElementById("listFns");10 var domListFns = document.getElementById("listFns");
11 var domSectFields = document.getElementById("sectFields");11 var domSectFields = document.getElementById("sectFields");
12 var domListFields = document.getElementById("listFields");12 var domListFields = document.getElementById("listFields");
13 var domSectGlobalVars = document.getElementById("sectGlobalVars");
14 var domListGlobalVars = document.getElementById("listGlobalVars");
13 var domFnProto = document.getElementById("fnProto");15 var domFnProto = document.getElementById("fnProto");
14 var domFnProtoCode = document.getElementById("fnProtoCode");16 var domFnProtoCode = document.getElementById("fnProtoCode");
15 var domFnDocs = document.getElementById("fnDocs");17 var domFnDocs = document.getElementById("fnDocs");
...@@ -111,6 +113,7 @@...@@ -111,6 +113,7 @@
111 domFnNoExamples.classList.add("hidden");113 domFnNoExamples.classList.add("hidden");
112 domFnErrorsAnyError.classList.add("hidden");114 domFnErrorsAnyError.classList.add("hidden");
113 domTableFnErrors.classList.add("hidden");115 domTableFnErrors.classList.add("hidden");
116 domSectGlobalVars.classList.add("hidden");
114117
115 renderTitle();118 renderTitle();
116 renderInfo();119 renderInfo();
...@@ -560,8 +563,13 @@...@@ -560,8 +563,13 @@
560 function renderContainer(container) {563 function renderContainer(container) {
561 var typesList = [];564 var typesList = [];
562 var fnsList = [];565 var fnsList = [];
566 var varsList = [];
563 for (var i = 0; i < container.pubDecls.length; i += 1) {567 for (var i = 0; i < container.pubDecls.length; i += 1) {
564 var decl = zigAnalysis.decls[container.pubDecls[i]];568 var decl = zigAnalysis.decls[container.pubDecls[i]];
569 if (decl.kind === 'var') {
570 varsList.push(decl);
571 continue;
572 }
565 if (decl.type != null) {573 if (decl.type != null) {
566 if (decl.type == typeTypeId) {574 if (decl.type == typeTypeId) {
567 typesList.push(decl);575 typesList.push(decl);
...@@ -583,6 +591,9 @@...@@ -583,6 +591,9 @@
583 fnsList.sort(function(a, b) {591 fnsList.sort(function(a, b) {
584 return operatorCompare(a.name, b.name);592 return operatorCompare(a.name, b.name);
585 });593 });
594 varsList.sort(function(a, b) {
595 return operatorCompare(a.name, b.name);
596 });
586597
587 if (typesList.length !== 0) {598 if (typesList.length !== 0) {
588 resizeDomList(domListTypes, typesList.length, '<li><a href="#"></a></li>');599 resizeDomList(domListTypes, typesList.length, '<li><a href="#"></a></li>');
...@@ -620,6 +631,27 @@...@@ -620,6 +631,27 @@
620 }631 }
621 domSectFields.classList.remove("hidden");632 domSectFields.classList.remove("hidden");
622 }633 }
634
635 if (varsList.length !== 0) {
636 resizeDomList(domListGlobalVars, varsList.length, '<div></div>');
637 for (var i = 0; i < varsList.length; i += 1) {
638 var decl = varsList[i];
639 var divDom = domListGlobalVars.children[i];
640 var innerHtml = "";
641
642 innerHtml += '<pre><span class="tok-kw">pub</span> <span class="tok-kw">var</span> <a href="' +
643 navLinkDecl(decl.name) + '">' + escapeHtml(decl.name) + '</a>: ' +
644 typeIndexName(decl.type, true, true) + '</pre>';
645
646 var docs = zigAnalysis.astNodes[decl.src].docs;
647 if (docs != null) {
648 innerHtml += markdown(docs);
649 }
650
651 divDom.innerHTML = innerHtml;
652 }
653 domSectGlobalVars.classList.remove("hidden");
654 }
623 }655 }
624656
625 function operatorCompare(a, b) {657 function operatorCompare(a, b) {
...@@ -917,6 +949,7 @@...@@ -917,6 +949,7 @@
917 break;949 break;
918 case 83:950 case 83:
919 domSearch.focus();951 domSearch.focus();
952 domSearch.select();
920 ev.preventDefault();953 ev.preventDefault();
921 ev.stopPropagation();954 ev.stopPropagation();
922 startAsyncSearch();955 startAsyncSearch();