您可以在名称空间中定义类
class Gem
class SystemExitException
end
end
或
class Gem::SystemExitException
end
当代码使用第一种类定义方法时,ctags会对类定义进行索引,如下所示:
SystemExitException test_class.rb /^ class SystemExitException$/;" c class:Gem
使用第二种方式,ctags将其编入索引:
Gem rubygems/exceptions.rb /^class Gem::SystemExitException < SystemExit$/;" c
第二种方法的问题是你不能把你的光标(在vim中)放在对“Gem :: SystemExitException”的引用上,并直接跳转到类定义。您唯一的办法是浏览所有以“Gem ::”开头的(110!)类定义,找到您正在寻找的那个。
有没有人知道解决方法?也许我应该向ctags的维护者报告这个?
答案 0 :(得分:3)
选项是--extra = + q,但ctags仅支持C ++,Java和Eiffel。
http://ctags.sourceforge.net/faq.html#7
所以是的,你必须要求为Ruby扩展+ q模式。
答案 1 :(得分:2)