| ... | @@ -376,24 +376,24 @@ | ... | @@ -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 | var typeObj = zigAnalysis.types[typeIndex]; | 380 | var typeObj = zigAnalysis.types[typeIndex]; |
| 381 | if (wantLink) { | 381 | if (wantLink) { |
| 382 | var declIndex = getCanonTypeDecl(typeIndex); | 382 | var declIndex = getCanonTypeDecl(typeIndex); |
| 383 | var declPath = getCanonDeclPath(declIndex); | 383 | var declPath = getCanonDeclPath(declIndex); |
| 384 | var haveLink = declPath != null; | 384 | var haveLink = declPath != null; |
| 385 | var typeNameHtml = typeName(typeObj, true, !haveLink, fnDecl, skipFnName); | 385 | var typeNameHtml = typeName(typeObj, true, !haveLink, fnDecl, linkFnNameDecl); |
| 386 | if (haveLink) { | 386 | if (haveLink) { |
| 387 | return '<a href="' + navLink(declPath.pkgNames, declPath.declNames) + '">' + typeNameHtml + '</a>'; | 387 | return '<a href="' + navLink(declPath.pkgNames, declPath.declNames) + '">' + typeNameHtml + '</a>'; |
| 388 | } else { | 388 | } else { |
| 389 | return typeNameHtml; | 389 | return typeNameHtml; |
| 390 | } | 390 | } |
| 391 | } else { | 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 | switch (typeObj.kind) { | 397 | switch (typeObj.kind) { |
| 398 | case typeKinds.Array: | 398 | case typeKinds.Array: |
| 399 | var name = "["; | 399 | var name = "["; |
| ... | @@ -542,8 +542,15 @@ | ... | @@ -542,8 +542,15 @@ |
| 542 | var payloadHtml = ""; | 542 | var payloadHtml = ""; |
| 543 | if (wantHtml) { | 543 | if (wantHtml) { |
| 544 | payloadHtml += '<span class="tok-kw">fn</span>'; | 544 | payloadHtml += '<span class="tok-kw">fn</span>'; |
| 545 | if (fnDecl != null && !skipFnName) { | 545 | if (fnDecl != null) { |
| 546 | payloadHtml += ' <span class="tok-fn">' + escapeHtml(fnDecl.name) + '</span>'; | 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 | } else { | 555 | } else { |
| 549 | payloadHtml += 'fn' | 556 | payloadHtml += 'fn' |
| ... | @@ -655,7 +662,7 @@ | ... | @@ -655,7 +662,7 @@ |
| 655 | } | 662 | } |
| 656 | | 663 | |
| 657 | function renderValue(decl) { | 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 | escapeHtml(decl.name) + ': ' + typeIndexName(decl.type, true, true); | 666 | escapeHtml(decl.name) + ': ' + typeIndexName(decl.type, true, true); |
| 660 | | 667 | |
| 661 | var docs = zigAnalysis.astNodes[decl.src].docs; | 668 | var docs = zigAnalysis.astNodes[decl.src].docs; |
| ... | @@ -668,7 +675,7 @@ | ... | @@ -668,7 +675,7 @@ |
| 668 | } | 675 | } |
| 669 | | 676 | |
| 670 | function renderVar(decl) { | 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 | escapeHtml(decl.name) + ': ' + typeIndexName(decl.type, true, true); | 679 | escapeHtml(decl.name) + ': ' + typeIndexName(decl.type, true, true); |
| 673 | | 680 | |
| 674 | var docs = zigAnalysis.astNodes[decl.src].docs; | 681 | var docs = zigAnalysis.astNodes[decl.src].docs; |
| ... | @@ -758,21 +765,15 @@ | ... | @@ -758,21 +765,15 @@ |
| 758 | } | 765 | } |
| 759 | | 766 | |
| 760 | if (fnsList.length !== 0) { | 767 | if (fnsList.length !== 0) { |
| 761 | resizeDomList(domListFns, fnsList.length, | 768 | resizeDomList(domListFns, fnsList.length, '<tr><td></td><td></td></tr>'); |
| 762 | '<tr><td><a href="#"></a></td><td></td><td></td></tr>'); | | |
| 763 | for (var i = 0; i < fnsList.length; i += 1) { | 769 | for (var i = 0; i < fnsList.length; i += 1) { |
| 764 | var decl = fnsList[i]; | 770 | var decl = fnsList[i]; |
| 765 | var trDom = domListFns.children[i]; | 771 | var trDom = domListFns.children[i]; |
| 766 | | 772 | |
| 767 | var tdName = trDom.children[0]; | 773 | var tdFnCode = trDom.children[0]; |
| 768 | var tdNameA = tdName.children[0]; | 774 | var tdDesc = trDom.children[1]; |
| 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; | | |
| 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 | var docs = zigAnalysis.astNodes[decl.src].docs; | 778 | var docs = zigAnalysis.astNodes[decl.src].docs; |
| 778 | if (docs != null) { | 779 | if (docs != null) { |