4

このような名前空間でクラスを定義できます

class Gem
  class SystemExitException
  end
end

また

class Gem::SystemExitException
end

コードがクラス定義の最初のメソッドを使用する場合、ctags は次のようにクラス定義にインデックスを付けます。

SystemExitException     test_class.rb   /^  class SystemExitException$/;"      c       class:Gem

2 番目の方法では、ctags は次のようにインデックスを付けます。

Gem      rubygems/exceptions.rb  /^class Gem::SystemExitException < SystemExit$/;"       c

2 番目の方法の問題は、(vim で) カーソルを "Gem::SystemExitException" への参照の上に置くことができず、クラス定義に直接ジャンプできないことです。唯一の手段は、"Gem::" で始まるすべての (110!) クラス定義のページをめくって、探しているものを見つけることです。

誰かが回避策を知っていますか? これを ctags の管理者に報告する必要がありますか?

4

2 に答える 2

3

オプションは --extra=+q ですが、ctags は C++、Java、および Eiffel に対してのみサポートしています。

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

そうです、+q モードを Ruby 用に拡張するように要求する必要があります。

于 2010-04-09T04:48:40.907 に答える