[ANN] Ruby Cross Reference

P

Peter Zotov

I'm pleased to announce that Ruby Cross Reference has just been rolled
out.

http://rxr.whitequark.org/

Have you ever wanted to know what exactly VALUE is? Wondered about
rb_str_new2
implementation? Tried to grep some obscure function? If your answer is
yes,
then RXR is for you!

Grep is from stone age. The Cross Reference, a tool which originally
was written
to index Linux kernel sources, will instantly find declaration and all
references
to an identifier, converts tokens in source file to convenient links
and even
has some full-text search capabilities.

Three versions of Ruby source tree are indexed: 1.8.7, 1.9.2 and HEAD,
all taken
from Ruby mirror on GitHub and updated daily.
 
B

botp

I'm pleased to announce that Ruby Cross Reference has just been rolled ou= t.
=A0http://rxr.whitequark.org/

uver cool. wish there was an editor that can do cross reference
kind regards -botp
 
E

Eric Christopherson

I'm pleased to announce that Ruby Cross Reference has just been rolled ou= t.

=A0http://rxr.whitequark.org/

Looks excellent!

I don't know if you've been hacking on LXR yourself, but I thought I'd
let you know about some issues I've seen with parsing of Ruby files.
First: an underscore sometimes gets split apart from the word it
belongs to, and cross-referenced, as with line 139 with "def
self._load(str)" at
<http://rxr.whitequark.org/rubinius/source/kernel/common/tuple.rb>. In
that case, the text for "load" is not a link; just "_". Line 134 with
"def _dump(depth)" in the same file correctly treats "_dump" as one
word.

Another thing I notice in that file is that argument names are
sometimes cross-referenced and sometimes not; e.g. "depth" in _dump
is, but not "str" in _load. This might be related to the previous
issue.

Finally, method names like "=3D=3D" and "[]" aren't cross-referenced.
 
E

Eric Christopherson

Looks excellent!

I don't know if you've been hacking on LXR yourself, but I thought I'd
let you know about some issues I've seen with parsing of Ruby files.
[snip]

One more thing: It shows a C++ icon for Java files.
 
P

Peter Zotov

I'm pleased to announce that Ruby Cross Reference has just been
rolled out.

 http://rxr.whitequark.org/

Looks excellent!

I don't know if you've been hacking on LXR yourself, but I thought
I'd
let you know about some issues I've seen with parsing of Ruby files.
First: an underscore sometimes gets split apart from the word it
belongs to, and cross-referenced, as with line 139 with "def
self._load(str)" at
<http://rxr.whitequark.org/rubinius/source/kernel/common/tuple.rb>.
In
that case, the text for "load" is not a link; just "_". Line 134 with
"def _dump(depth)" in the same file correctly treats "_dump" as one
word.

Another thing I notice in that file is that argument names are
sometimes cross-referenced and sometimes not; e.g. "depth" in _dump
is, but not "str" in _load. This might be related to the previous
issue.

Finally, method names like "==" and "[]" aren't cross-referenced.

Thanks.

Yes, I've hacked on LXR code itself (i.e. reworked all the templates,
fixed a few bugs etc.), and it does not have Ruby support out of the
box. I've added something, but... the whole LXR and the parsing code
particularily is... well, it is a huge crappy heap of most obscure Perl
code I've seen in my entire life.

I definitely lack the knowledge needed to add proper Ruby support. I
slowly
explore things out, but if you (or anyone else) may help, that would be
very great!

The .rb file icon will be fixed later today.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,066
Latest member
VytoKetoReviews

Latest Threads

Top