@@ -51,8 +51,10 @@ var zigAnalysis;
5151 const domHdrName = document . getElementById ( "hdrName" ) ;
5252 const domHelpModal = document . getElementById ( "helpModal" ) ;
5353 const domSearchPlaceholder = document . getElementById ( "searchPlaceholder" ) ;
54+ const sourceFileUrlTemplate = "/src-viewer/{{file}}#L{{line}}"
5455 const domLangRefLink = document . getElementById ( "langRefLink" ) ;
5556
57+ let lineCounter = 1 ;
5658 let searchTimer = null ;
5759 let searchTrimResults = true ;
5860
@@ -411,6 +413,8 @@ var zigAnalysis;
411413 if ( curNavSearch !== "" ) {
412414 return renderSearch ( ) ;
413415 }
416+
417+ lineCounter = 1 ;
414418
415419 let rootPkg = zigAnalysis . packages [ zigAnalysis . rootPkg ] ;
416420 let pkg = rootPkg ;
@@ -441,6 +445,10 @@ var zigAnalysis;
441445 }
442446
443447 currentType = childDecl ;
448+ if ( "src" in currentType ) {
449+ const ast_node = zigAnalysis . astNodes [ currentType . src ] ;
450+ lineCounter += ast_node . line ;
451+ }
444452 curNav . declObjs . push ( currentType ) ;
445453 }
446454
@@ -981,7 +989,7 @@ var zigAnalysis;
981989 "switch(" +
982990 cond +
983991 ") {" +
984- '<a href="https://github.com/ziglang/zig/tree/master/lib/std /' +
992+ '<a href="/src-viewer /' +
985993 file_name +
986994 "#L" +
987995 line +
@@ -2268,6 +2276,13 @@ var zigAnalysis;
22682276 }
22692277 }
22702278 }
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+ }
22712286
22722287 function renderContainer ( container ) {
22732288 let typesList = [ ] ;
@@ -2386,13 +2401,12 @@ var zigAnalysis;
23862401
23872402 let declType = resolveValue ( decl . value ) ;
23882403 console . assert ( "type" in declType . expr ) ;
2389-
23902404 tdFnCode . innerHTML = exprName ( declType . expr , {
23912405 wantHtml : true ,
23922406 wantLink : true ,
23932407 fnDecl : decl ,
23942408 linkFnNameDecl : navLinkDecl ( decl . name ) ,
2395- } ) ;
2409+ } ) + renderSourceFileLink ( decl ) ;
23962410
23972411 let docs = zigAnalysis . astNodes [ decl . src ] . docs ;
23982412 if ( docs != null ) {
0 commit comments