* C++ browser for overloaded methods
@ 2007-06-06 12:02 Abanowicz Tomasz
2007-06-06 13:29 ` spamfilteraccount
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Abanowicz Tomasz @ 2007-06-06 12:02 UTC (permalink / raw)
To: help-gnu-emacs
Hello
I'm looking for C++ code browser that can do the following.
Assume the following code:
class Human
{
public:
void show(void) { cout << "It's me"; }
void show(int age) { cout << "I'm " << age << " years old"; }
}
class Animal
{
public:
void show(void) { cout << "This is animal"; }
void show (int age) { cout "It is " << age << " years old"; }
}
int main (void)
{
Human Adam;
Animal Bambi;
Adam.show();
Adam.show(20);
Bambi.show();
Bambi.show(3);
}
I would like to jump to the Bambi.show(3) function with one command.
I place the cursor on Bambi.<show>(3) and perform such a command.
Do you know any code browsers that can do that ?
I tried etags and ebrowse but both of them jump to Human::show(void)
function.
ctags from vim gives the list of all show(...) functions and allows me
to manually choose the proper one.
It is much better than blindly jumping to the Human::show(...).
Does emacs allow more intelligent C++ browsing that solves the above
problem ?
What is the name of such a tools ?
Thank You for help.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: C++ browser for overloaded methods
2007-06-06 12:02 C++ browser for overloaded methods Abanowicz Tomasz
@ 2007-06-06 13:29 ` spamfilteraccount
2007-06-06 14:54 ` Tom Tromey
2007-06-07 13:50 ` Scott Frazer
2 siblings, 0 replies; 7+ messages in thread
From: spamfilteraccount @ 2007-06-06 13:29 UTC (permalink / raw)
To: help-gnu-emacs
On Jun 6, 2:02 pm, Abanowicz Tomasz <pawlac...@yahoo.com> wrote:
>
> Does emacs allow more intelligent C++ browsing that solves the above
> problem ?
> What is the name of such a tools ?
xrefactory can do it I think. It's not free, though.
http://www.xref-tech.com/xrefactory/main.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: C++ browser for overloaded methods
2007-06-06 12:02 C++ browser for overloaded methods Abanowicz Tomasz
2007-06-06 13:29 ` spamfilteraccount
@ 2007-06-06 14:54 ` Tom Tromey
2007-06-07 13:50 ` Scott Frazer
2 siblings, 0 replies; 7+ messages in thread
From: Tom Tromey @ 2007-06-06 14:54 UTC (permalink / raw)
To: help-gnu-emacs
>>>>> "Abanowicz" == Abanowicz Tomasz <pawlaczus@yahoo.com> writes:
Abanowicz> I would like to jump to the Bambi.show(3) function with one command.
Abanowicz> I place the cursor on Bambi.<show>(3) and perform such a command.
Abanowicz> Do you know any code browsers that can do that ?
Abanowicz> I tried etags and ebrowse but both of them jump to Human::show(void)
Abanowicz> function.
Abanowicz> ctags from vim gives the list of all show(...) functions
Abanowicz> and allows me to manually choose the proper one. It is
Abanowicz> much better than blindly jumping to the Human::show(...).
With tags you can use M-u M-. to jump to the next one.
You can also use completion for the tag.
Abanowicz> Does emacs allow more intelligent C++ browsing that solves
Abanowicz> the above problem ? What is the name of such a tools ?
You might try CEDET. I don't know whether or not it can do this but
it is probably your best bet.
Tom
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: C++ browser for overloaded methods
2007-06-06 12:02 C++ browser for overloaded methods Abanowicz Tomasz
2007-06-06 13:29 ` spamfilteraccount
2007-06-06 14:54 ` Tom Tromey
@ 2007-06-07 13:50 ` Scott Frazer
2007-07-23 19:05 ` Abanowicz Tomasz
2 siblings, 1 reply; 7+ messages in thread
From: Scott Frazer @ 2007-06-07 13:50 UTC (permalink / raw)
To: help-gnu-emacs
On Jun 6, 8:02 am, Abanowicz Tomasz <pawlac...@yahoo.com> wrote:
> Hello
> I'm looking for C++ code browser that can do the following.
[snip]
> I tried etags and ebrowse but both of them jump toHuman::show(void)
> function.
> ctags from vim gives the list of all show(...) functions and allows me
> to manually choose the proper one.
> It is much better than blindly jumping to theHuman::show(...).
>
> Doesemacsallow more intelligent C++ browsing that solves the above
> problem ?
> What is the name of such a tools ?
I've wanted to scratch this itch for a while, and finally did:
http://www.emacswiki.org/cgi-bin/wiki/EtagsSelect
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: C++ browser for overloaded methods
2007-06-07 13:50 ` Scott Frazer
@ 2007-07-23 19:05 ` Abanowicz Tomasz
2007-07-23 20:45 ` Scott Frazer
0 siblings, 1 reply; 7+ messages in thread
From: Abanowicz Tomasz @ 2007-07-23 19:05 UTC (permalink / raw)
To: help-gnu-emacs
On 7 Cze, 15:50, Scott Frazer <frazer.sc...@gmail.com> wrote:
> On Jun 6, 8:02 am,AbanowiczTomasz <pawlac...@yahoo.com> wrote:
>
> > Hello
> > I'm looking for C++ code browser that can do the following.
>
> [snip]
>
> > I tried etags and ebrowse but both of them jump toHuman::show(void)
> > function.
> > ctags from vim gives the list of all show(...) functions and allows me
> > to manually choose the proper one.
> > It is much better than blindly jumping to theHuman::show(...).
>
> > Doesemacsallow more intelligent C++ browsing that solves the above
> > problem ?
> > What is the name of such a tools ?
>
> I've wanted to scratch this itch for a while, and finally did:
>
> http://www.emacswiki.org/cgi-bin/wiki/EtagsSelect
Great thanx for answer !!!
Sorry for bothering You about it again.
But this feature is very important form me.
I tried the following tools: etags, etags-select, oo-browser, ebrowse,
semantic, cscope.
Unfortunately none of them is able to jump to the definition of the
function without asking any questions.
I agree, It is very complex task.
Now I claim that emacs just can't do that.
Now I would be glad about showing me the list of tags to jump to and
allowing me to choose from the list the proper one by number.
Unfortunately AFAIK emacs is not able to do that as well.
This task is easily performed by VIM's ctags. It works fast and
reliable in VIM's ctags.
In emacs it just doesn't work. Even more AFAIK there is not such
functionality in emacs.
etags-select - show the suspicious message "No exact match for tag"
and furthermore does not allow choosing the tag from the list by
number. You have to go through the list of tags using the arrow keys.
It is very inconvenient when the list of tags is very long.
cscope - is very slow. It takes a few seconds what ctags from vim can
do at once. Furthermore It distingiushes definitions in .h files in a
different way than definitions in .cpp files. it means that there are
2 different command to jump to function definition depending on in
which file it is placed. It is exremely inconvinient.
PLEASE, PLEASE, PLEASE tell me that I'm wrong but it looks like that
basic and extrememly important functionality for C++ developer works
in VIM quite good and in such a emacs editor (that is realy powerful)
it almost works but in fact it does not work :(
Thank You for Your help
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: C++ browser for overloaded methods
2007-07-23 19:05 ` Abanowicz Tomasz
@ 2007-07-23 20:45 ` Scott Frazer
2007-07-24 16:53 ` Scott Frazer
0 siblings, 1 reply; 7+ messages in thread
From: Scott Frazer @ 2007-07-23 20:45 UTC (permalink / raw)
To: help-gnu-emacs
Abanowicz Tomasz wrote:
> On 7 Cze, 15:50, Scott Frazer <frazer.sc...@gmail.com> wrote:
>> On Jun 6, 8:02 am,AbanowiczTomasz <pawlac...@yahoo.com> wrote:
>>
>>> Hello
>>> I'm looking for C++ code browser that can do the following.
>> [snip]
>>
>>> I tried etags and ebrowse but both of them jump toHuman::show(void)
>>> function.
>>> ctags from vim gives the list of all show(...) functions and allows me
>>> to manually choose the proper one.
>>> It is much better than blindly jumping to theHuman::show(...).
>>> Doesemacsallow more intelligent C++ browsing that solves the above
>>> problem ?
>>> What is the name of such a tools ?
>> I've wanted to scratch this itch for a while, and finally did:
>>
>> http://www.emacswiki.org/cgi-bin/wiki/EtagsSelect
>
> Great thanx for answer !!!
> Sorry for bothering You about it again.
>
> But this feature is very important form me.
> I tried the following tools: etags, etags-select, oo-browser, ebrowse,
> semantic, cscope.
> Unfortunately none of them is able to jump to the definition of the
> function without asking any questions.
> I agree, It is very complex task.
> Now I claim that emacs just can't do that.
> Now I would be glad about showing me the list of tags to jump to and
> allowing me to choose from the list the proper one by number.
> Unfortunately AFAIK emacs is not able to do that as well.
> This task is easily performed by VIM's ctags. It works fast and
> reliable in VIM's ctags.
> In emacs it just doesn't work. Even more AFAIK there is not such
> functionality in emacs.
>
> etags-select - show the suspicious message "No exact match for tag"
> and furthermore does not allow choosing the tag from the list by
> number. You have to go through the list of tags using the arrow keys.
> It is very inconvenient when the list of tags is very long.
>
Yeah, that's my bad on that one. Someone else pointed out the same problem
a few days ago ...
I always use ctags (http://ctags.sourceforge.net) to generate my TAGS tables
and didn't realize the standard etags can create several different kinds of tag
entries. I'm working on supporting those now.
I don't have any plans to number the entries, but I'll think about it.
Scott
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: C++ browser for overloaded methods
2007-07-23 20:45 ` Scott Frazer
@ 2007-07-24 16:53 ` Scott Frazer
0 siblings, 0 replies; 7+ messages in thread
From: Scott Frazer @ 2007-07-24 16:53 UTC (permalink / raw)
To: help-gnu-emacs
Scott Frazer wrote:
> Abanowicz Tomasz wrote:
>> On 7 Cze, 15:50, Scott Frazer <frazer.sc...@gmail.com> wrote:
[snip]
>> etags-select - show the suspicious message "No exact match for tag"
>> and furthermore does not allow choosing the tag from the list by
>> number. You have to go through the list of tags using the arrow keys.
>> It is very inconvenient when the list of tags is very long.
>>
>
> Yeah, that's my bad on that one. Someone else pointed out the same problem
> a few days ago ...
>
> I always use ctags (http://ctags.sourceforge.net) to generate my TAGS
> tables
> and didn't realize the standard etags can create several different kinds
> of tag
> entries. I'm working on supporting those now.
>
> I don't have any plans to number the entries, but I'll think about it.
I've updated etags-select to work with the different tag types etags can
create (see the wiki page). I added the choose-tag-by-number thing too,
although you have to hit return after entering the number ... it was going
to be too hard to determine when you were done entering digits otherwise.
Scott
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2007-07-24 16:53 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-06 12:02 C++ browser for overloaded methods Abanowicz Tomasz
2007-06-06 13:29 ` spamfilteraccount
2007-06-06 14:54 ` Tom Tromey
2007-06-07 13:50 ` Scott Frazer
2007-07-23 19:05 ` Abanowicz Tomasz
2007-07-23 20:45 ` Scott Frazer
2007-07-24 16:53 ` Scott Frazer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).