@@ -51,8 +51,10 @@ var zigAnalysis;
51
51
const domHdrName = document . getElementById ( "hdrName" ) ;
52
52
const domHelpModal = document . getElementById ( "helpModal" ) ;
53
53
const domSearchPlaceholder = document . getElementById ( "searchPlaceholder" ) ;
54
+ const sourceFileUrlTemplate = "/src-viewer/{{file}}#L{{line}}"
54
55
const domLangRefLink = document . getElementById ( "langRefLink" ) ;
55
56
57
+ let lineCounter = 1 ;
56
58
let searchTimer = null ;
57
59
let searchTrimResults = true ;
58
60
@@ -411,6 +413,8 @@ var zigAnalysis;
411
413
if ( curNavSearch !== "" ) {
412
414
return renderSearch ( ) ;
413
415
}
416
+
417
+ lineCounter = 1 ;
414
418
415
419
let rootPkg = zigAnalysis . packages [ zigAnalysis . rootPkg ] ;
416
420
let pkg = rootPkg ;
@@ -441,6 +445,10 @@ var zigAnalysis;
441
445
}
442
446
443
447
currentType = childDecl ;
448
+ if ( "src" in currentType ) {
449
+ const ast_node = zigAnalysis . astNodes [ currentType . src ] ;
450
+ lineCounter += ast_node . line ;
451
+ }
444
452
curNav . declObjs . push ( currentType ) ;
445
453
}
446
454
@@ -981,7 +989,7 @@ var zigAnalysis;
981
989
"switch(" +
982
990
cond +
983
991
") {" +
984
- '<a href="https://github.com/ziglang/zig/tree/master/lib/std /' +
992
+ '<a href="/src-viewer /' +
985
993
file_name +
986
994
"#L" +
987
995
line +
@@ -2268,6 +2276,13 @@ var zigAnalysis;
2268
2276
}
2269
2277
}
2270
2278
}
2279
+ function renderSourceFileLink ( decl ) {
2280
+ let srcNode = zigAnalysis . astNodes [ decl . src ] ;
2281
+
2282
+ return "<a style=\"float: right;\" href=\"" +
2283
+ sourceFileUrlTemplate . replace ( "{{file}}" ,
2284
+ zigAnalysis . files [ srcNode . file ] ) . replace ( "{{line}}" , lineCounter + srcNode . line ) + "\">[src]</a>" ;
2285
+ }
2271
2286
2272
2287
function renderContainer ( container ) {
2273
2288
let typesList = [ ] ;
@@ -2386,13 +2401,12 @@ var zigAnalysis;
2386
2401
2387
2402
let declType = resolveValue ( decl . value ) ;
2388
2403
console . assert ( "type" in declType . expr ) ;
2389
-
2390
2404
tdFnCode . innerHTML = exprName ( declType . expr , {
2391
2405
wantHtml : true ,
2392
2406
wantLink : true ,
2393
2407
fnDecl : decl ,
2394
2408
linkFnNameDecl : navLinkDecl ( decl . name ) ,
2395
- } ) ;
2409
+ } ) + renderSourceFileLink ( decl ) ;
2396
2410
2397
2411
let docs = zigAnalysis . astNodes [ decl . src ] . docs ;
2398
2412
if ( docs != null ) {
0 commit comments