[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| [ease-dev] GSoC code competion commits | 
Hi Martin,
your latest commits brought us in a delicate situation.
You commited 14 topics, all depending on each other. Some of them will 
need some adaptions/discussions. But if 1 patch set is declined, the 
next elements in the chain cannot be merged anymore. So you have to step 
back to the first declined topic and start from there to rework the topic.
Also having 14 commits with the exact same commit message is not exactly 
what I was expecting. As discussed offline: smaller commits do not only 
help to avoid the 1000 LOC rule. They also help to cluster topics and 
make reviews easier.
One major concern of mine are those changes to the IModuleWrapper 
interface. While you adapted the one for Rhino, your changes will break 
compatibility for our external interpreters for Python, Groovy and Ruby. 
IModuleWrappers are there to generate code chunks, so I think they might 
be useful when you want to convert a java call to a scripted command, 
but currently I see no point in changing them for code completion 
proposals. If you think these changes are needed, we should discuss it 
on the list.
A second topic is that the script shell should not need knowledge of 
several code completion implementations. Your adapter should take care 
of chosing the correct completion providers depending whether we are 
working on a live interpreter or within an editor. So one option would 
be to set a script interpreter instance and/or a script type in the 
adapter. Then the adapter can chose matching completion providers by itself.
Completion providers generally should not be hard coded into the system. 
We should use extension points to register them along with some metadata 
(eg a language filter, whether they are applicable on a script 
interpreter or also offline, ...). Then the adapter should load them 
dynamically depending on the environment.
HTH
Christian