haskell / haskell/haskell-language-server

Hover Documentation html file should be looked up from Haddock interfaces

オープン
#731 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
component: ghcide type: enhancement
主要言語
Haskell
スター
3k
フォーク
455
平均マージ
2日 19時間
マージ済み PR(30日)
11

説明

Will leave it here to track work in progress.

Sometimes "Documentation" in tooltip is absent because module that defines Name is different from haddock html file that contains it (usually some other module that re-exports the Name).

A [workaround/hack was created](https://github.com/haskell/ghcide/pull/766) for a common use case but it fails at more obscure cases. I have little idea how Haddock comes up with its file structure (rules seem to vary from package to package) but the interface file {package-name}.haddock in package root is the source of truth for Name doc resolution.

So far I managed to make it work only for GHC 8.10.2 (unfortunately `haddock-api` package that defines `readInterfaceFile` is not a part of most stable stackage snapshots and often conflicts with `haddock-library`, probably some upstream work is required).

Preview looks promising, seems that all 3rd party documentation is located properly. Some examples:

![image](https://user-images.githubusercontent.com/5116838/95653524-ccbd0f00-0b55-11eb-842c-28551531e14f.png)

Or list map

![image](https://user-images.githubusercontent.com/5116838/95653548-01c96180-0b56-11eb-905a-b6630feddea0.png)

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。