黑线鳕 - 链接到外部模块中的功能(导入整个模块)



假设我有一个名为MyModule的Haskell模块,它导入了一个外部模块,如下所示:

import ModuleA hiding (a, b, c)

而且我无法修改此导入语句,因为该程序不完全是我的。

我希望链接到ModuleA文档中的ModuleA.external_function,在上面的注释中一个名为my_function的函数。所以代码看起来像这样:

-- | my_function makes use of 'ModuleA.external_function'
my_function :: Int -> Int

使用 haddock 2.10.0 并运行 cabal haddock ,指向 ModuleA.external_function 的链接生成为 dist/doc/html/MyModule/ModuleA.html#v:external_function 。但是,问题是dist/doc/html/MyModule/ModuleA.html文件不存在。

如何生成指向ModuleA文档的链接,例如module-A-package/docs/ModuleA.html#v:external_function.换句话说,类似于 http://hackage.haskell.org/package/text-0.11.2.0/docs/Data-Text.html 链接到String类型(它们链接到 http://hackage.haskell.org/package/base-4.5.0.0/docs/Data-String.html#t:String)?请记住,我无法修改import语句。

谢谢。

要在 Haddock 文档中建立指向外部包的链接,您需要指示它在哪里可以找到这些包的文档。

这是通过使用 --read-interface Haddock 命令行选项完成的。

使用您的示例,它将是:

haddock --read-interface module-A-package/docs/,module-A-package/docs/module-A-package.haddock

.haddock文件是在使用Haddock命令行选项为包模块A包生成文档时创建的----dump-interface

更多信息可以在 Haddock 文档或 HaskellWiki 页面上找到。

最新更新