我正在寻找相当于Haskell的ctags.我试过hasktags,但它有一些问题:
在枚举器的源文件夹中,run hasktags .给出:
hasktags: tags: openFile: resource busy (file is locked)
Run Code Online (Sandbox Code Playgroud)
当我跑步时vim -t enumFile,会发生错误:
E431: Format error in tags file "tags"
Before byte 4085
E426: tag not found: enumFile
Run Code Online (Sandbox Code Playgroud)
我也试过气囊,但它不能在ghc-7.0.4上编译.
Bla*_*ade 13
您使用的是Mac OS X(或Windows,见下文),不是吗?在这种情况下,hasktags -c(只创建Vi格式标签)将解决您的问题.
这不是唯一的解释,但这是在OS X系统上发生的事情:
tags(对于Vi)和TAGS(对于Emacs)更新:正如评论所指出的,Windows也不区分大小写,因此可能会出现类似的问题.
hasktags有一些错误,其中一个是它使用惰性IO,这往往会给那些资源带来繁忙的错误.
碰巧,我刚刚在http://hackage.haskell.org/package/fast-tags上写了一个标签程序
其他选项是hothasktags,它生成合格的Module.function标签和lushtags,它被设计为与花哨的类似IDE的vim标签栏集成.根据我的经验,hothasktags一旦无法解析文件就会生成巨大的标签文件和lushtags崩溃.两者都使用haskell-src-exts,这意味着它们是准确的,但如果它们无法解析您的文件就会崩溃,并且无法处理.hsc文件.fast-tags有自己的解析器,这意味着它没有这些问题,但也更容易解析错过标签或伪造标签的错误.
正如您所注意到的那样,gasbag(和htags)使用haskell-src,这意味着它们只适用于Haskell 98.
免责声明:如果TAGS你的意思是emacs标签,那么快速标签还没有做到,尽管如果有人关心它会很容易添加.