[pedevel] Re: feature idea: function pop up window

  • From: Oliver Tappe <pedevel@xxxxxxxxxxxxxxx>
  • To: pedevel@xxxxxxxxxxxxx
  • Date: Thu, 15 Apr 2004 13:13:53 +0200

On 2004-04-14 at 22:47:54 [+0200], Ingo Weinhold wrote:
> On 2004-04-14 at 16:51:28 [+0200], Oliver Tappe wrote:
> > I hope I have not interfered with your plans to look at it, Ingo.
> 
> Not really. I indeed had only a look yet and was pondering whether it 
> might be best to dump the existing code and rewrite the function scanning 
> from the scratch based on the code of a real C++ parser (one will 
> certainly find some out there). The current implementation does, for 
> instance, erroneously recognize
> 
>     const int kMyConstant = sizeof(int);

this is fixed now.

>     BLocker sGlobalLocker("the global locker");

I agree with you that this will be rather hard to parse properly, so I 
won't try...

> as function declarations, and messes up in case of:
> 
>     bool MyClass::operator==(const MyClass& other) {}

this is fixed now, too.

> To be honest, I consider the 
> value of prototypes in the function pop-up menu very questionable and 
> would love to be able to disable them via a prefs setting.

You can, just deactivate Preferences->Languages->"Show Function Prototypes" 
and they're gone.

> BTW, maybe it's a good idea to pass the nesting level to 
> CFunctionScanHandler::AddFunction() instead of indenting the function 
> name in CLanguageProxy::AddFunction(). This way the CFunctionScanHandler 
> implementor can decide what to do with it. The `Find Function' Window 
> might rather present it in an outline list view, for instance, or at 
> least have the grouping information available to be able to avoid 
> confusion when a filtered set is shown.

Yes, you are right. I have just moved the nesting level into 
CFunctionScanHandler() and have the implementors handle it. Currently, both 
implementors still do the same thing (indent with spaces).

cheers,
        Oliver

Other related posts: