Skip to content

Commit c59ae94

Browse files
committed
Fix source file urls when opening in hackage.
1 parent ce8c2ef commit c59ae94

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/docsBrowser.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,10 +147,16 @@ export namespace DocsBrowser {
147147
return s.replace(
148148
/\[(.+)\]\((file:.+\/doc\/(?:.*html\/libraries\/)?([^\/]+)\/(src\/)?(.+\.html#?.*))\)/gi,
149149
(all, title, localPath, packageName, maybeSrcDir, fileAndAnchor) => {
150+
let hackageUri: string;
150151
if (!maybeSrcDir) {
151-
maybeSrcDir = '';
152+
hackageUri = `https://hackage.haskell.org/package/${packageName}/docs/${fileAndAnchor}`;
153+
} else {
154+
hackageUri = `https://hackage.haskell.org/package/${packageName}/docs/${maybeSrcDir}${fileAndAnchor.replace(
155+
/-/gi,
156+
'.'
157+
)}`;
152158
}
153-
const hackageUri = `https://hackage.haskell.org/package/${packageName}/docs/${maybeSrcDir}${fileAndAnchor}`;
159+
154160
const encoded = encodeURIComponent(JSON.stringify({ title, localPath, hackageUri }));
155161
const cmd = 'command:haskell.showDocumentation?' + encoded;
156162
return `[${title}](${cmd})`;

0 commit comments

Comments
 (0)