diff --git a/lib/std/special/docs/main.js b/lib/std/special/docs/main.js
index d6171834aa..49a52e9bc2 100644
--- a/lib/std/special/docs/main.js
+++ b/lib/std/special/docs/main.js
@@ -540,7 +540,23 @@
return typeIndexName(value, wantHtml, wantLink);
case typeKinds.Fn:
var fnObj = zigAnalysis.fns[value];
- return typeIndexName(fnObj.type, wantHtml, wantLink);
+ var declPath = fnObj.decl && getCanonDeclPath(fnObj.decl);
+ var fnName = declPath ? declPath.declNames.join('.') : '(unknown)';
+
+ if (!wantHtml) {
+ return fnName;
+ }
+
+ var str = '';
+ if (wantLink && declPath != null) {
+ str += '';
+ str += escapeHtml(fnName);
+ str += '';
+ } else {
+ str += escapeHtml(fnName);
+ }
+ str += '';
+ return str;
case typeKinds.Int:
return token(value, tokenKinds.Number, wantHtml);
case typeKinds.Optional:
@@ -727,24 +743,8 @@
}
return payloadHtml;
case typeKinds.Frame:
- var name = '@Frame(';
var fnObj = zigAnalysis.fns[typeObj.fn];
- var declPath = fnObj.decl && getCanonDeclPath(fnObj.decl);
- var fnName = typeObj.fnName;
- if (wantHtml) {
- name += '';
- if (declPath) {
- name += ''
- + escapeHtml(fnName) + '';
- } else {
- name += escapeHtml(fnName);
- }
- name += '';
- } else {
- name += fnName;
- }
- name += ')';
- return name;
+ return '@Frame(' + getValueText(fnObj.type, typeObj.fn, wantHtml, wantSubLink) + ')';
case typeKinds.AnyFrame:
var name = token('anyframe', tokenKinds.Keyword, wantHtml);
if (typeObj.result) {