代码之家  ›  专栏  ›  技术社区  ›  dan

当类定义为“class gem::systemexitexception”时,ctags不起作用。

  •  4
  • dan  · 技术社区  · 16 年前

    您可以在这样的名称空间中定义类

    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”的引用上,并直接跳转到类定义。你唯一的办法是翻阅所有(110!)类定义,以“gem::”开头,并找到要查找的类。

    有人知道变通方法吗?也许我应该把这个报告给CTAG的维护人员?

    2 回复  |  直到 13 年前
        1
  •  3
  •   NUXI    16 年前

    选项是-Up+q,但是CTAGS只支持C++、Java和Eiffel.

    http://ctags.sourceforge.net/faq.html#7

    所以是的,您必须请求为Ruby扩展+Q模式。

        2
  •  2
  •   tmm1    13 年前

    有一个补丁可以修复此行为,网址为 http://www.mail-archive.com/geany@uvena.de/msg05290.html

    推荐文章