Where is the old irb-tools's rtags.rb, or another decent tag


#1

I’m looking for tagging of constants, classes, modules, and methods,
and particularly for qualified tags (so MyClass#to_s and YourClass#to_s
are different tags).

I know about the rtags reference in the Pickaxe books, that program has
vanished from the net.

I also know about exhuberant ctags, it only tags classes, module, and
methods, and doesn’t have qualified tags, which is a killer in any
project with more than a few classes.

Does anybody have a copy of the pre-merged-with-ruby irb-tools project
hanging around? I’d really, really like to get a hold of that rtags.rb
mentioned in the pickaxe, if I had a copy I might be able to get tags
working!

Cheers,
Sam

For those not familiar with how tags works with languages that are
supported really well, like C++, here is an example.


module Foo
class Aclass
ACONST = 1

	def to_s
	end
end

end

module Bar
class Aclass
ACONST = 1
def to_s
end
end
end

Exhuberant ctags generates this for the above example:

— tags —

!_TAG_PROGRAM_VERSION 5.5.4 //
Aclass ex.rb /^ class Aclass$/;" c
Bar ex.rb /^module Bar$/;" m
Foo ex.rb /^module Foo$/;" m
to_s ex.rb /^ def to_s$/;" f

I want all the tags:

— tags —
Aclass …
Aclass.to_s
ACONST
Bar …
Bar.Aclass …
Bar.Aclass.to_s …
Bar.ACONST
Foo …
Foo.Aclass …
Foo.Aclass.to_s …
Foo.ACONST
to_s …

So I can do a tag jump to Aclass.to_s and go the right one.

In case you wonder, you can get the above for C++ and Java using “ctags
–extra=+q”, but not for ruby.