gpt4 book ai didi

haskell - 在本地运行 Hoogle

转载 作者:行者123 更新时间:2023-12-02 13:53:38 25 4
gpt4 key购买 nike

我想运行hoogle在我的一个项目上。我从我的项目中成功生成了 hoogle 数据库(扩展名为 .hoo 的文件)。但是当我在本地运行服务器时,hoogle 找不到我的项目中定义的任何函数或类型。它可以找到一些前奏函数如map ,但没有在我的项目中定义的函数。 hoogle dump my-project.hoo转储内容没有错误。我也搬了my-project.hoo~/.cabal/share/x86_64-osx-ghc-7.8.4/hoogle-4.2.38/databases所有.hoo在哪里文件驻留。再次没有成功。 -verbose switch 也不会输出任何有用的信息。如有任何建议,我们将不胜感激。

编辑:

感谢mhuesch的建议,我能够得到搜索结果。尽管如此,返回的结果并未链接到本地​​ hackage 文档。 我在网络上找不到的东西是 hoogle 服务器查找名为 default.hoo 的文件。在当前目录中。

编辑2:

如果您像我一样拥有 5000 多个数据库(.hoo 文件),则在组合它们时可能会出现“打开文件过多”错误。技巧很简单:运行 hoogle combine x*.hoo -o=parts/x.hoo对于所有人x='a' ... 'z'然后运行hoogle combine *.hoo -o=default.hoo在零件文件夹中。

编辑3:

如果您想将 hoogle 搜索结果与本地 hackage 文档链接,使用hoogle convert --doc='absolute-path-to-your-doc' your-package-hoogle-doc.txt default.hoo 。我无法使相对路径正常工作。

最佳答案

Hoogle 在当前目录(运行命令 hoogle 的位置)中搜索名为“default.hoo”的数据库,因此,如果您将数据库重命名为该数据库,它应该会找到它。

要将其添加到您的 cabal 目录中的数据库中,我相信这应该可行(取自 http://newartisans.com/2012/09/running-a-fully-local-hoogle/ ):

cd {...path to hoogle databases dir...}
mv default.hoo default.hoo-prev
hoogle combine *.hoo

编辑:(回应 Oxy 的编辑)

我对default.hoo的了解来自here 。好像不太了解。

hoobuddy(上面链接的项目)虽然很酷,但似乎并没有解决您想要的问题。我认为关键在于 hoogle 数据的帮助

$ hoogle data --help
...
-l --local[=FILEPATH] Use local documentation if available
...

我自己没有做过,所以我不确定。 this writeup的作者通过从源代码编译 hoogle 并添加本地文档目录来实现本地文档链接。我认为您可以通过使用 hoogle 数据来避免这种情况。

关于haskell - 在本地运行 Hoogle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29499253/

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