[MonoDevelop] Parser and code completion
Matej Urbas
matej.urbas at gmail.com
Sun Jun 11 15:26:53 EDT 2006
Lluis Sanchez wrote:
>
> What about type constraints? We should also have this information.
>
Ok, will do it.
>
>>
>> in IMethod:
>> StringCollection GenericParameters {
>> get;
>> }
>>
>> in IReturnType:
>> StringCollection GenericArguments {
>> get;
>> }
>>
>
> Shouldn't this return a collection of IReturnType?
>
Makes sense.
>
>>
>> in IParameter:
>> StringCollection GenericArguments {
>> get;
>> }
>>
>
> I'm also wondering if IClass.BaseTypes should now be a list of
> IReturnType instead of a list of String, since base types can now have
> generic arguments.
>
You are right. A very delicate thing indeed :) I will make changes to
accommodate that and we'll see what happens ;)
>
> Yes, changes in the language bindings should be included in the patch to
> avoid breaking the build when it is committed.
>
It will take a while ;)
>
>> Secondly:
>> I'm not entirely sure yet, but I think that adding support for
>> the requested code completion features (especially snippets,
>> keyword completion etc.) will be much more of a problem. For
>> now it seems to me that I will have to rework a large part of
>> MonoDevelop.Projects.Gui.Completion. What is your opinion
>> about that?
>>
>
> Isn't a custom implementation of ICompletionData or
> ICompletionDataProvider enough for what you want to do?
>
Yes, this is true for pretty much everything in code completion that
merely needs raw type information. But I am also thinking about other
things like for example: we need to answer questions like 'is this the
place to trigger a special type of code completion? what kind of code
completion feature do we need to trigger anyhow? what set of features is
actually allowed in this context?' and much more - such things are more
or less language dependent and we need some input from the language
binding - not only formatting of language elements is needed here (think
about ASP.NET applications, xml documents and such).
Well, perhaps I'm getting it wrong and surely I'm getting a little too
far... but wouldn't it be nice to not only use code completion in normal
source files, but also anywhere where it's reasonable. I know it's a lot
to begin with, but I want to think about things like that. I want us to
have a nice architecture - and I'm willing to work on it... better then
doing nothing ;)
>
>>
>> As soon as I have the first draft of the document, I will post
>> it here.
>>
>
> That would be awesome.
>
Yup, that will take a while too :D
> Thanks,
> Lluis.
>
Enjoy
---
Matt
More information about the Monodevelop-list
mailing list