auto-complete implementation idea - need feedback
Rakan Alhneiti
rakan.alhneiti at nospam.gmail.com
Sat Jul 26 06:56:30 PDT 2008
Ary Borenszweig wrote:
> Rakan Alhneiti a écrit :
>> Ary Borenszweig wrote:
>>> Rakan Alhneiti a écrit :
>>>> davidl wrote:
>>>>> 在 Thu, 24 Jul 2008 23:00:09 +0800,Rakan Alhneiti
>>>>> <rakan at nospam.gmail.com> 写道:
>>>>>
>>>>>> Hello
>>>>>> As you might have noticed on dsource, i am implementing a
>>>>>> text-editor using DWT called IntelliD.
>>>>>>
>>>>>> I have an idea about implementing auto-complete and need
>>>>>> professional feedback about it.
>>>>>> As i am not experienced with writing a full-front-end parser, i
>>>>>> got this idea about implementing auto-complete for object oriented
>>>>>> features as follows:
>>>>>>
>>>>>> a folder called Editor will be the parent directory,
>>>>>> /Editor
>>>>>> -- /D which will be a directory for D language, i am planning to
>>>>>> support other langs as well
>>>>>> ---- /tango
>>>>>> /phobos
>>>>>> /dwt
>>>>>> /gtkD
>>>>>> ...etc
>>>>>>
>>>>>> each sub folder in parent "D" folder will contain a set of files
>>>>>> related to the library involved. These files will represent a
>>>>>> class in related library folder that will contain defintions of
>>>>>> methods and properties available in that class.
>>>>>> example
>>>>>> /Editor/D/DWT/Button.d
>>>>>> will contain all methods and properties available in DWT's button
>>>>>> class in this format
>>>>>>
>>>>>> void setText(char[] text)
>>>>>>
>>>>>> my editor will parse that and provide it in the list of
>>>>>> Intellisense or auto-complete functionality in addition to using
>>>>>> it in providing call-tips which will show a small label when
>>>>>> calling that function providing information about the parameters,
>>>>>> names, types ...etc
>>>>>>
>>>>>> What do you think?
>>>>>>
>>>>>> Thanks,
>>>>>> Rakan
>>>>>
>>>>> of course it's useful & cool!
>>>>>
>>>> Thanks,
>>>> Would you think that the implementation of such an idea is any good
>>>> too?
>>>
>>> You'll have to give it a try. At least for me, even thinking ahead
>>> how to optimize things, a trial an error approach was necessary (I
>>> didn't want to, but it ended that way).
>> Thanks,
>> After all when i think deeply about it, i guess i will need to create
>> at least a simple parser for certain language features because i have
>> both syntax highlight and intellisense.
>
> Of course. When the user types "b.", you need to know what type is b,
> and for that you need a parser.
There are some specific rules for this already specified in language.
The use of certain characters coming after type specification can be
considered a variable. But some variables might be of type class that
are user-defined. also, some other things might follow type
specifications such as casting cast(int)v, int myFunc()
But this should be quite a simple task, because i am not ready yet to
create a parser from scratch
More information about the Digitalmars-d
mailing list