Exumerant Ctag在Ruby中不能很好地工作,你可以看到ruby.c代码中有很多漏洞,基本上它无法识别很多情况。其中最重要的一点是:
class SomeModule::SomeClass
end
Ctag生成:
SomeModule someclass.rb /^class SomeModule::SomeClass$/;" c
这是错误的。正确且预期的条目为:
SomeClass someclass.rb /^class SomeModule::SomeClass$/;" c
这是非常有限的。有一些ctag的补丁是不起作用的,例如https://github.com/xtao/overlay/blob/master/dev-util/ctags/files/ctags-5.5.4-ruby-classes.patch,但是看看ctag的ruby代码库,这真的需要完全重写。
所以我一直在玩另一个选项,那就是https://github.com/rdoc/rdoc-tags,它工作得更好,但速度很慢。我是说真的很慢。在我的项目上生成标签使用ctag是2秒,但使用这个工具是一个小时。真的。
我发现了一个老项目,它自己解析Ruby并生成标签,但它只适用于Ruby1.8。它比ctag慢,但也没那么差。
因此,我正在寻找一些替代方案。你知道有没有其他可用的ruby ctag生成器,可以给你提供正确的输出,而且速度很快?
谢谢!
Ruby :我发现了一个非常好的项目,可以和 1.9+一起工作,而且很准确,很快。我推荐这样做:
https://stackoverflow.com/questions/17338779
复制相似问题