在模塊B
我有一個鏈接'A.foo'
鏈接到模塊A
的foo
成員的文檔。在模塊A
中,我導入模塊B
。 Haddock將其作爲A.html#t:foo
的鏈接,即指向類型foo
(不存在)而不是函數foo
,它位於A.html#v:foo
。鱈魚鏈接到非導入模塊中的功能
- 爲什麼Haddock鏈接到
t:
的變量以小寫字母開頭?這是一個錯誤?對於'A.Foo'
我可以看到它可能是一個類型或構造函數,所以存在命名空間問題。對於foo
,似乎一個變量至少是最合理的。 - 有什麼辦法可以僞造一個鏈接?我在代碼示例中寫這個,所以我需要將它呈現爲
foo
。我嘗試了錨點,但它們作爲模塊名稱呈現,而對於直接超鏈接,您無法控制顯示的文本。 - 我認爲一個後處理器(替換
t:[a-z]
與v:
),但這需要一個自定義的Setup.hs導致問題,是相當醜陋的。 - 我找不到任何Haddock命令行標誌來獲得更合理的行爲,例如指定
foo
是一個變量。 - 我無法添加導入
A
到B
而沒有引入循環導入,這純粹是爲了文檔而添加的。
我遇到了這個問題在Shake documentation,其中作爲一個例子removeFilesAfter
沒有得到正確的鏈接。
非常好的分析,任何你可以提交上游補丁的機會? –
我只知道*代碼如何以這種方式工作,而不是*爲什麼*,這可能是一個很好的理由。但我想你可以打開一個錯誤報告並在這裏指出它們,以便他們知道他們需要考慮哪些代碼。 –
我有一堆開放的哈多克蟲(至少6我的計數),從來沒有任何反應 - 它似乎他們並不在乎... –