首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在本地运行Hoogle

在本地运行Hoogle
EN

Stack Overflow用户
提问于 2015-04-07 19:03:54
回答 1查看 2.3K关注 0票数 6

我想在我的一个项目上运行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。我无法让相对路径发挥作用。

EN

回答 1

Stack Overflow用户

发布于 2015-04-07 20:58:24

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

要将它添加到您的阴谋目录中的数据库中,我认为应该可以(取自http://newartisans.com/2012/09/running-a-fully-local-hoogle/):

代码语言:javascript
复制
cd {...path to hoogle databases dir...}
mv default.hoo default.hoo-prev
hoogle combine *.hoo

编辑:(对Oxy编辑的回应)

我对default.hoo的了解来自于这里。它似乎并不是很清楚。

虽然很酷,但并不能解决你想要的问题。我认为关键在于帮助胡格尔数据。

代码语言:javascript
复制
$ hoogle data --help
...
-l --local[=FILEPATH]  Use local documentation if available
...

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29499253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档