是否有任何Haskell特定工具可以显示导入模块的源代码?

Rum*_*mca 6 ide haskell cabal

如何在没有互联网连接的情况下浏览Haskell源代码?现在我点击hackage搜索结果,点击源链接并搜索源页面.有两个问题:

  • 我正在使用当前版本作为我本地的代理
  • 这不能递归地工作(另一次点击并搜索下一个定义)

通常,IDE允许您下载任何库的源代码并打开带有定义的新编辑器选项卡.我更喜欢阅读代码而不是文档,一路上没有意外,我可以从中学到一些东西.

那么,如何在必要时使用Haskell工具或标准GNU工具设置递归源搜索?我现在所知道的是,我可以为vim生成ctags但是cabal存储来源在哪里?

Dan*_*rro 4

这是我遵循的固执己见的工作流程,用于在启用源链接的情况下呈现文档。

$ cd <package-name>
$ cabal sandbox init
$ cabal install --only-dependencies --enable-documentation --haddock-hyperlink-source
$ cabal configure --enable-documentation --haddock-hyperlink-source
$ cabal haddock --hyperlink-source
$ firefox dist/doc/html/<package-name>/index.html
Run Code Online (Sandbox Code Playgroud)

应该为所有包(包括依赖项)启用该Source链接,只要它们安装在沙箱中即可。

在我使用的发行版 Arch Linux 的特殊情况下,我尝试避免通过安装 Haskell 系统包pacman,因为默认情况下,文档不是在启用源链接的情况下构建的。在 Arch Linux 中,您可以使用ABS并使用上述参数修改 PKGBUILD。我很确定其他发行版也可以做类似的事情,但不知道 Windows 或 Mac OS X 是否适用。

还值得一提的是,您不需要每次运行时都键入这些参数cabal。您可以在默认情况下启用它们.cabal/config

这应该可以在没有沙箱的情况下工作,但如果您正在处理多个 Haskell 项目,我强烈建议您使用沙箱。