generated docs: add global variables

See #3409
This commit is contained in:
Andrew Kelley 2019-10-08 22:39:12 -04:00
parent cdaaf7c725
commit ca3250a57c
No known key found for this signature in database
GPG Key ID: 7C5F548F728501A9
2 changed files with 38 additions and 0 deletions

View File

@ -308,6 +308,11 @@
<ul id="listTypes">
</ul>
</div>
<div id="sectGlobalVars" class="hidden">
<h2>Global Variables</h2>
<div id="listGlobalVars">
</div>
</div>
<div id="sectFns" class="hidden">
<h2>Functions</h2>
<ul id="listFns">

View File

@ -10,6 +10,8 @@
var domListFns = document.getElementById("listFns");
var domSectFields = document.getElementById("sectFields");
var domListFields = document.getElementById("listFields");
var domSectGlobalVars = document.getElementById("sectGlobalVars");
var domListGlobalVars = document.getElementById("listGlobalVars");
var domFnProto = document.getElementById("fnProto");
var domFnProtoCode = document.getElementById("fnProtoCode");
var domFnDocs = document.getElementById("fnDocs");
@ -111,6 +113,7 @@
domFnNoExamples.classList.add("hidden");
domFnErrorsAnyError.classList.add("hidden");
domTableFnErrors.classList.add("hidden");
domSectGlobalVars.classList.add("hidden");
renderTitle();
renderInfo();
@ -560,8 +563,13 @@
function renderContainer(container) {
var typesList = [];
var fnsList = [];
var varsList = [];
for (var i = 0; i < container.pubDecls.length; i += 1) {
var decl = zigAnalysis.decls[container.pubDecls[i]];
if (decl.kind === 'var') {
varsList.push(decl);
continue;
}
if (decl.type != null) {
if (decl.type == typeTypeId) {
typesList.push(decl);
@ -583,6 +591,9 @@
fnsList.sort(function(a, b) {
return operatorCompare(a.name, b.name);
});
varsList.sort(function(a, b) {
return operatorCompare(a.name, b.name);
});
if (typesList.length !== 0) {
resizeDomList(domListTypes, typesList.length, '<li><a href="#"></a></li>');
@ -620,6 +631,27 @@
}
domSectFields.classList.remove("hidden");
}
if (varsList.length !== 0) {
resizeDomList(domListGlobalVars, varsList.length, '<div></div>');
for (var i = 0; i < varsList.length; i += 1) {
var decl = varsList[i];
var divDom = domListGlobalVars.children[i];
var innerHtml = "";
innerHtml += '<pre><span class="tok-kw">pub</span> <span class="tok-kw">var</span> <a href="' +
navLinkDecl(decl.name) + '">' + escapeHtml(decl.name) + '</a>: ' +
typeIndexName(decl.type, true, true) + '</pre>';
var docs = zigAnalysis.astNodes[decl.src].docs;
if (docs != null) {
innerHtml += markdown(docs);
}
divDom.innerHTML = innerHtml;
}
domSectGlobalVars.classList.remove("hidden");
}
}
function operatorCompare(a, b) {
@ -917,6 +949,7 @@
break;
case 83:
domSearch.focus();
domSearch.select();
ev.preventDefault();
ev.stopPropagation();
startAsyncSearch();