Exuberant ctags、attr_readerやActiveRecordの関連定義に対応する

明示的なメソッド定義以外も検出して欲しいですよね!!!

class A < ActiveRecord::Base
  attr_reader :x
  attr_writer :y
  attr_accessor :z

  has_one :one
  belongs_to :one
  has_many :many
  has_and_belongs_to_many :mannny
end

ctags標準だとこれらのアクセサ定義には対応してませんが、--regex-<ファイルタイプ> オプションでタグとして検出するパターンを追加可能です。

今回だと、~/.ctagsにこのように書けばOK。

--regex-ruby=/^[[:space:]]*(has_(one|many)|has_and_belongs_to_many|belongs_to)[[:space:]]+:([a-z0-9_]+)/\3/
--regex-ruby=/^[[:space:]]*attr_(reader|writer|accessor)[[:space:]]+:([a-z0-9_?]+)/\2/