Skip to main content

[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


Back to the top