On 10/07/2015 09:53 AM, Angelo zerr
wrote:
2° Delegate _javascript_
features to other components liek tern
On this topic, I suggest the following changes in JSDT that I find
as working enough for my experiments regarding merging Tern Outline
into JSDT Outline:
* Remove some extension points that are covered by upstream
frameworks. Mainly the Common Navigator, which makes it easy to
write an extensible Outline or a Quick Outline, without need to add
other extension points. For example, the "_javascript_ElementFilter"
extension point could be replaced by usage of the commonFilter.
This is not a critical issue for extensibility, but removing code in
JSDT without loosing funcitonality nor extensibility is something
that we'll all see as a good thing.
* Take advantage of adapters: in most classes where we want to have
extensibility, JSDT directly uses or casts to its types
(IJavaScriptType, IJavaScriptUnit, IJavaScriptElement...). Extenders
projects may not use directly these types but might be able to adapt
to the specified types relying on the Core adapter framework. By
leveraging that and checking for adapters when possible, several
pieces of JSDT code would remain working with the parts of extending
frameworks. Current JSDT Outline filters are an example: Tern can
provide its own richer elements to Outline, but since they're not
JSDT types, filters don't work. Assuming JSDT would check for
adapters and Tern would provide adapters, filters would remain
working even with Tern content. We can imagine similar thing for
refactorings, search and others.
|