Community
Participate
Working Groups
Created attachment 79802 [details] dom resolver patch The dom resolver only works with ScriptableObject as scopes. But the problem is we don't have those a lot. Or scopes are most implemented by our self and are just an implementation of the Scriptable interface. I changed it so that it takes Scriptable interface and if it is a ScriptableObject it will still do getAllIds() if it isn't so just an other implementation of Scriptable then i call getIds(). I do have an extra false: in that if(resolveTopLevelScope instanceof ScriptableObject && false) because if we do getAllIds() then we do get a lot of garbage that we don't want. (also all the NON_ENUM properties..) So if we still want to have support for that, Can the IDesignTimeDOMProvider then be changed with one extra method? Something like: public List filterList(List proposols); So that an IDesingTimeDOMProvider can filter stuff from the list that they don't want to show?
Applied.
Created attachment 80444 [details] dom resolver patch2 (and code completion null pointer) This is another patch for the dom resolver part for code completion. I need to return 2 DomResolvers, the big one (the top level scope) is an ScriptableObject but the small one (thats the current context, i do miss that notion a bit) Is just a Scriptable. Again the same thing applies its better to just aks for the interface Scriptable then on a concrete class. This also holds an null pointer fix for the src/org/eclipse/dltk/ui/text/completion/CompletionProposalComparator.java Because the getSortString() did return null for many of the proposels. Because it is possible to have an AbstractScriptCompletionProposal that doesnt'have the sortstring initialized. I just fall back then to the display string.
Please take care of this
Patch applied.
bulk change: fixed in 0.95