gpt4 book ai didi

haskell - 使用 Haddock 和 stack 为我自己的代码生成文档

转载 作者:行者123 更新时间:2023-12-03 10:16:35 41 4
gpt4 key购买 nike

我已经用 Haddock 样式注释了我的代码,并希望生成可浏览的文档。由于我也在使用堆栈,因此我想将文档生成集成到工作流程中。但是,我还不能生成任何有用的东西。

我可以跑

stack haddock

它会以我想要的样式生成文档(可以在 ~/.stack/ 的深处找到),但它似乎只为我所依赖的包生成文档,而不是为我自己的代码生成文档。

当我跑
stack haddock --help

我觉得我可以使用附加参数 --haddock为我自己的项目生成文档,以及 --no-haddock-deps省略我的依赖项的文档。但是,当我运行时
stack haddock --haddock --no-haddock-deps

似乎什么都没有发生。如果我 stack clean首先,它会重新编译我的所有代码,但没有生成似乎与文档有任何关系的输出。

作为中间解决方案,我也尝试过自己运行 Haddock,即
haddock my-source.hs

但后来我收到一个错误,它找不到文件所依赖的模块(由堆栈在本地安装)。这给我的印象是文档生成必须以某种方式通过堆栈。我一直在寻找,但没有真正找到任何与配置我的 .cabal 相关的解释。和 stack.yaml文件的文件。

TL;DR

如何使用 stack 和 Haddock 为我自己的包中的代码生成文档?

最佳答案

根据this ticket在堆栈问题跟踪器上,堆栈目前只能为库构建文档,但不能为可执行文件构建文档。

可以使用以下命令将 Cabal 配置为使用堆栈数据库:

cabal configure --package-db=clear --package-db=global --package-db=$(stack path --snapshot-pkg-db) --package-db=$(stack path --local-pkg-db)

之后你可以运行 cabal haddock --executables生成文档。

顺便说一句, stack haddock只是 stack build --haddock 的快捷方式,所以不用写 stack haddock --haddock .

关于haskell - 使用 Haddock 和 stack 为我自己的代码生成文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32712775/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com