@@ -145,21 +145,25 @@ export namespace DocsBrowser {
145
145
function processLink ( ms : MarkdownString | MarkedString ) : string | MarkdownString {
146
146
function transform ( s : string ) : string {
147
147
return s . replace (
148
- / \[ ( .+ ) \] \( ( f i l e : .+ \/ d o c \/ (?: .* h t m l \/ l i b r a r i e s \/ ) ? ( [ ^ \/ ] + ) \/ ( s r c \/ ) ? ( .+ \. h t m l # ? .* ) ) \) / gi,
149
- ( all , title , localPath , packageName , maybeSrcDir , fileAndAnchor ) => {
148
+ / \[ ( .+ ) \] \( ( f i l e : .+ \/ d o c \/ (?: .* h t m l \/ l i b r a r i e s \/ ) ? ( [ ^ \/ ] + ) \/ (?: . * \/ ) ? ( .+ \. h t m l # ? .* ) ) \) / gi,
149
+ ( all , title , localPath , packageName , fileAndAnchor ) => {
150
150
let hackageUri : string ;
151
- if ( ! maybeSrcDir ) {
151
+ if ( title == 'Documentation' ) {
152
152
hackageUri = `https://hackage.haskell.org/package/${ packageName } /docs/${ fileAndAnchor } ` ;
153
- } else {
154
- hackageUri = `https://hackage.haskell.org/package/${ packageName } /docs/${ maybeSrcDir } ${ fileAndAnchor . replace (
153
+ const encoded = encodeURIComponent ( JSON . stringify ( { title, localPath, hackageUri } ) ) ;
154
+ const cmd = 'command:haskell.showDocumentation?' + encoded ;
155
+ return `[${ title } ](${ cmd } )` ;
156
+ } else if ( title == 'Source' ) {
157
+ hackageUri = `https://hackage.haskell.org/package/${ packageName } /docs/src/${ fileAndAnchor . replace (
155
158
/ - / gi,
156
159
'.'
157
160
) } `;
161
+ const encoded = encodeURIComponent ( JSON . stringify ( { title, localPath, hackageUri } ) ) ;
162
+ const cmd = 'command:haskell.showDocumentation?' + encoded ;
163
+ return `[${ title } ](${ cmd } )` ;
164
+ } else {
165
+ return s ;
158
166
}
159
-
160
- const encoded = encodeURIComponent ( JSON . stringify ( { title, localPath, hackageUri } ) ) ;
161
- const cmd = 'command:haskell.showDocumentation?' + encoded ;
162
- return `[${ title } ](${ cmd } )` ;
163
167
}
164
168
) ;
165
169
}
0 commit comments