我想在我的一个项目上运行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开关也不输出任何有用的信息。如有任何建议,将不胜感激。
编辑:
多亏了mhuesch的建议,我才能得到搜索结果。虽然返回的结果没有链接到本地的黑客文档。(我在web上找不到的东西)是,hoogle服务器在当前目录中寻找一个名为的文件。。
编辑2:
如果您像我一样,有5000+数据库(即.hoo文件),那么在组合它们时可能会出现“太多打开的文件”错误。诀窍很简单:为所有x='a' ... 'z'运行hoogle combine x*.hoo -o=parts/x.hoo,然后在parts文件夹中运行hoogle combine *.hoo -o=default.hoo。
编辑3:
如果您想将您的钩子搜索结果与本地黑客文档链接起来,请使用hoogle convert --doc='absolute-path-to-your-doc' your-package-hoogle-doc.txt default.hoo。我无法让相对路径发挥作用。
发布于 2015-04-07 20:58:24
Hoogle在当前目录(运行命令hoogle )中搜索一个名为“default.hoo”的数据库,因此如果您将数据库重命名为它应该会找到它。
要将它添加到您的阴谋目录中的数据库中,我认为应该可以(取自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的了解来自于这里。它似乎并不是很清楚。
虽然很酷,但并不能解决你想要的问题。我认为关键在于帮助胡格尔数据。
$ hoogle data --help
...
-l --local[=FILEPATH] Use local documentation if available
...我自己还没做过,所以我不确定。这篇文章的作者通过从源代码编译hoogle并添加他的本地docs目录来实现本地文档链接。我认为您可以通过使用hoogle数据来避免这种情况。
https://stackoverflow.com/questions/29499253
复制相似问题