mirror of
https://github.com/ziglang/zig.git
synced 2025-12-24 07:03:11 +00:00
add docs for function parameters
This commit is contained in:
parent
38791ac616
commit
137cb32f5e
@ -485,6 +485,10 @@
|
||||
</p>
|
||||
</div>
|
||||
<div id="tldDocs" class="hidden"></div>
|
||||
<div id="sectParams" class="hidden">
|
||||
<h2>Parameters</h2>
|
||||
<div id="listParams"></div>
|
||||
</div>
|
||||
<div id="sectFnErrors" class="hidden">
|
||||
<h2>Errors</h2>
|
||||
<div id="fnErrorsAnyError">
|
||||
|
||||
@ -20,6 +20,8 @@
|
||||
var domListValues = document.getElementById("listValues");
|
||||
var domFnProto = document.getElementById("fnProto");
|
||||
var domFnProtoCode = document.getElementById("fnProtoCode");
|
||||
var domSectParams = document.getElementById("sectParams");
|
||||
var domListParams = document.getElementById("listParams");
|
||||
var domTldDocs = document.getElementById("tldDocs");
|
||||
var domSectFnErrors = document.getElementById("sectFnErrors");
|
||||
var domListFnErrors = document.getElementById("listFnErrors");
|
||||
@ -101,6 +103,7 @@
|
||||
function render() {
|
||||
domStatus.classList.add("hidden");
|
||||
domFnProto.classList.add("hidden");
|
||||
domSectParams.classList.add("hidden");
|
||||
domTldDocs.classList.add("hidden");
|
||||
domSectPkgs.classList.add("hidden");
|
||||
domSectTypes.classList.add("hidden");
|
||||
@ -226,6 +229,8 @@
|
||||
}
|
||||
|
||||
var typeObj = zigAnalysis.types[fnDecl.type];
|
||||
renderFnParamDocs(fnDecl, typeObj);
|
||||
|
||||
var errSetTypeIndex = null;
|
||||
if (typeObj.ret != null) {
|
||||
var retType = zigAnalysis.types[typeObj.ret];
|
||||
@ -279,6 +284,58 @@
|
||||
domFnProto.classList.remove("hidden");
|
||||
}
|
||||
|
||||
function renderFnParamDocs(fnDecl, typeObj) {
|
||||
var docCount = 0;
|
||||
|
||||
var fnObj = zigAnalysis.fns[fnDecl.value];
|
||||
var fnNode = zigAnalysis.astNodes[fnObj.src];
|
||||
var fields = fnNode.fields;
|
||||
var isVarArgs = fnNode.varArgs;
|
||||
|
||||
for (var i = 0; i < fields.length; i += 1) {
|
||||
var field = fields[i];
|
||||
var fieldNode = zigAnalysis.astNodes[field];
|
||||
if (fieldNode.docs != null) {
|
||||
docCount += 1;
|
||||
}
|
||||
}
|
||||
if (docCount == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
resizeDomList(domListParams, docCount, '<div></div>');
|
||||
var domIndex = 0;
|
||||
|
||||
for (var i = 0; i < fields.length; i += 1) {
|
||||
var field = fields[i];
|
||||
var fieldNode = zigAnalysis.astNodes[field];
|
||||
if (fieldNode.docs == null) {
|
||||
continue;
|
||||
}
|
||||
var divDom = domListParams.children[domIndex];
|
||||
domIndex += 1;
|
||||
var argTypeIndex = typeObj.args[i];
|
||||
|
||||
var html = '<pre>' + escapeHtml(fieldNode.name) + ": ";
|
||||
if (isVarArgs && i === typeObj.args.length - 1) {
|
||||
html += '...';
|
||||
} else if (argTypeIndex != null) {
|
||||
html += typeIndexName(argTypeIndex, true, true);
|
||||
} else {
|
||||
html += '<span class="tok-kw">var</span>';
|
||||
}
|
||||
|
||||
html += ',</pre>';
|
||||
|
||||
var docs = fieldNode.docs;
|
||||
if (docs != null) {
|
||||
html += markdown(docs);
|
||||
}
|
||||
divDom.innerHTML = html;
|
||||
}
|
||||
domSectParams.classList.remove("hidden");
|
||||
}
|
||||
|
||||
function renderNav() {
|
||||
var len = curNav.pkgNames.length + curNav.declNames.length;
|
||||
resizeDomList(domListNav, len, '<li><a href="#"></a></li>');
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user