[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