all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* 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

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.