| ... | ... | @@ -376,24 +376,24 @@ |
| 376 | 376 | } |
| 377 | 377 | } |
| 378 | 378 | |
| 379 | | function typeIndexName(typeIndex, wantHtml, wantLink, fnDecl, skipFnName) { |
| 379 | function typeIndexName(typeIndex, wantHtml, wantLink, fnDecl, linkFnNameDecl) { |
| 380 | 380 | var typeObj = zigAnalysis.types[typeIndex]; |
| 381 | 381 | if (wantLink) { |
| 382 | 382 | var declIndex = getCanonTypeDecl(typeIndex); |
| 383 | 383 | var declPath = getCanonDeclPath(declIndex); |
| 384 | 384 | var haveLink = declPath != null; |
| 385 | | var typeNameHtml = typeName(typeObj, true, !haveLink, fnDecl, skipFnName); |
| 385 | var typeNameHtml = typeName(typeObj, true, !haveLink, fnDecl, linkFnNameDecl); |
| 386 | 386 | if (haveLink) { |
| 387 | 387 | return '<a href="' + navLink(declPath.pkgNames, declPath.declNames) + '">' + typeNameHtml + '</a>'; |
| 388 | 388 | } else { |
| 389 | 389 | return typeNameHtml; |
| 390 | 390 | } |
| 391 | 391 | } else { |
| 392 | | return typeName(typeObj, wantHtml, false, fnDecl, skipFnName); |
| 392 | return typeName(typeObj, wantHtml, false, fnDecl, linkFnNameDecl); |
| 393 | 393 | } |
| 394 | 394 | } |
| 395 | 395 | |
| 396 | | function typeName(typeObj, wantHtml, wantSubLink, fnDecl, skipFnName) { |
| 396 | function typeName(typeObj, wantHtml, wantSubLink, fnDecl, linkFnNameDecl) { |
| 397 | 397 | switch (typeObj.kind) { |
| 398 | 398 | case typeKinds.Array: |
| 399 | 399 | var name = "["; |
| ... | ... | @@ -542,8 +542,15 @@ |
| 542 | 542 | var payloadHtml = ""; |
| 543 | 543 | if (wantHtml) { |
| 544 | 544 | payloadHtml += '<span class="tok-kw">fn</span>'; |
| 545 | | if (fnDecl != null && !skipFnName) { |
| 546 | | payloadHtml += ' <span class="tok-fn">' + escapeHtml(fnDecl.name) + '</span>'; |
| 545 | if (fnDecl != null) { |
| 546 | payloadHtml += ' <span class="tok-fn">'; |
| 547 | if (linkFnNameDecl != null) { |
| 548 | payloadHtml += '<a href="' + linkFnNameDecl + '">' + |
| 549 | escapeHtml(fnDecl.name) + '</a>'; |
| 550 | } else { |
| 551 | payloadHtml += escapeHtml(fnDecl.name); |
| 552 | } |
| 553 | payloadHtml += '</span>'; |
| 547 | 554 | } |
| 548 | 555 | } else { |
| 549 | 556 | payloadHtml += 'fn' |
| ... | ... | @@ -655,7 +662,7 @@ |
| 655 | 662 | } |
| 656 | 663 | |
| 657 | 664 | function renderValue(decl) { |
| 658 | | domFnProtoCode.innerHTML = '<span class="tok-kw">pub</span> <span class="tok-kw">const</span> ' + |
| 665 | domFnProtoCode.innerHTML = '<span class="tok-kw">const</span> ' + |
| 659 | 666 | escapeHtml(decl.name) + ': ' + typeIndexName(decl.type, true, true); |
| 660 | 667 | |
| 661 | 668 | var docs = zigAnalysis.astNodes[decl.src].docs; |
| ... | ... | @@ -668,7 +675,7 @@ |
| 668 | 675 | } |
| 669 | 676 | |
| 670 | 677 | function renderVar(decl) { |
| 671 | | domFnProtoCode.innerHTML = '<span class="tok-kw">pub</span> <span class="tok-kw">var</span> ' + |
| 678 | domFnProtoCode.innerHTML = '<span class="tok-kw">var</span> ' + |
| 672 | 679 | escapeHtml(decl.name) + ': ' + typeIndexName(decl.type, true, true); |
| 673 | 680 | |
| 674 | 681 | var docs = zigAnalysis.astNodes[decl.src].docs; |
| ... | ... | @@ -758,21 +765,15 @@ |
| 758 | 765 | } |
| 759 | 766 | |
| 760 | 767 | if (fnsList.length !== 0) { |
| 761 | | resizeDomList(domListFns, fnsList.length, |
| 762 | | '<tr><td><a href="#"></a></td><td></td><td></td></tr>'); |
| 768 | resizeDomList(domListFns, fnsList.length, '<tr><td></td><td></td></tr>'); |
| 763 | 769 | for (var i = 0; i < fnsList.length; i += 1) { |
| 764 | 770 | var decl = fnsList[i]; |
| 765 | 771 | var trDom = domListFns.children[i]; |
| 766 | 772 | |
| 767 | | var tdName = trDom.children[0]; |
| 768 | | var tdNameA = tdName.children[0]; |
| 769 | | var tdType = trDom.children[1]; |
| 770 | | var tdDesc = trDom.children[2]; |
| 771 | | |
| 772 | | tdNameA.setAttribute('href', navLinkDecl(decl.name)); |
| 773 | | tdNameA.textContent = decl.name; |
| 773 | var tdFnCode = trDom.children[0]; |
| 774 | var tdDesc = trDom.children[1]; |
| 774 | 775 | |
| 775 | | tdType.innerHTML = typeIndexName(decl.type, true, true, decl, true); |
| 776 | tdFnCode.innerHTML = typeIndexName(decl.type, true, true, decl, navLinkDecl(decl.name)); |
| 776 | 777 | |
| 777 | 778 | var docs = zigAnalysis.astNodes[decl.src].docs; |
| 778 | 779 | if (docs != null) { |