vscode-haskell icon indicating copy to clipboard operation
vscode-haskell copied to clipboard

Documentation/Source links to wrong URI when opened in Hackage (with ghc >= 9.8.4).

Open Saizan opened this issue 3 months ago • 1 comments

This is the same problem as https://github.com/haskell/haskell-language-server/issues/4579. I believe the "bug" is in the vscode extension so I opened this. Also, I can reproduce on linux with recent enough ghc versions, i.e starting with ghc-9.8.4.

The crux is that HLS is sending the URIs for the locally stored docs, e.g.

[Documentation](file:///home/vscode/.ghcup/ghc/9.8.4/share/doc/ghc-9.8.4/html/libraries/base-4.19.2.0-9fbd/System-IO.html#v:putStrLn)

[Source](file:///home/vscode/.ghcup/ghc/9.8.4/share/doc/ghc-9.8.4/html/libraries/base-4.19.2.0-9fbd/src/System.IO.html#putStrLn)

and vscode-haskell does some mangling to point them to Hackage instead. Since ghc-9.8.4 the mangling is insufficient, as it keeps the -9fbd suffix in the URI, which is not correct.

The package directories are named $pkg_name-$pkg_ver-$hex where $hex is 4 hex digits. We want to drop the -$hex suffix, and since $pkg_ver cannot contain - it's actually unambiguous.

Saizan avatar Sep 11 '25 09:09 Saizan