Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [wtp-dev] Minutes from 20151201 JSDT meeting

Hi Gorkem,

2015-12-02 17:15 GMT+01:00 Gorkem Ercan <gorkem.ercan@xxxxxxxxx>:

Hi Angelo,
Thank you for sharing this.

You are welcome!
 
The functionality is inline with what we are planning to do but I
think we are planning to do less.

The idea is to enhance the common navigator framework (CNF) so that every task on a GruntFile.js or gulpfile.js
is displayed on the navigator instead of the classic JS file outline and you can right click and run a task.

Yes I see that, JSBuild Eclipse provides that too with CNF. See https://github.com/angelozerr/jsbuild-eclipse/wiki/Getting-Started#running-tasks

Images intégrées 1
 
Thisis very similar to the Project explorer view on jsbuild. There is no plan to implement a separate view for build taks.
Instead we plan to allow easy access to grunt/gulp tasks through the Quick access menu (ctrl+3)

Very cool.
 
also I think
the JSDT outline view, after Mickael's changes to allow it to use CNF, will provide a similar visual.

As you may have seen we are planning to shutdown bad performing Type binding on JSDT Parser after M4 which also means that
we will be providing code assist based on single .js file parsing in addition to code templates.

Great! tern.java and typescript.java will able to benefit with this improvement.

It should be very cool if you could do that for other features like "Find references" (Ctrl+Shift+G). I have started to implement that with tern.java, but I would like to avoid using AST and just position. 
 
I think Eclipse users
will depend more on extensions such as tern.java for advanced code assist. I would be very interested to hear your
thoughts about how we can make the operation/integration of tern.java easier for both the users and plugin developers.

One idea, I was looking at was to get the inferenceSupport extension point to be more effective but I am not sure if that
actually helps.

Before speaking about this extension point, we should list the features : 

 * completion
 * hyperlink
 * hover
 * find references (Ctrl+Shift+G)
 * validation
 * outline & quick outline
 * refactoring
 * syntax coloration

With tern.java & typescript.java, we need NOT a Java AST because AST is managed by tern server/tsserver. So the basic idea is to provide API without Java AST (as you have done for completion if I have understood).

 * completion : need IDocument, IFile and offset
 * hyperlink: it's OK today because I use standard hyperlink detecetor
 * hover: it's OK because JSDT Text Hover doesn't requires AST
 * find references (Ctrl+Shift+G): big problem, see  https://github.com/angelozerr/tern.java/issues/339#issuecomment-146618346 
 * validation: it's works because I use WTP Validator, but as JSDT is not connected to SSE org.eclipse.wst.sse.ui.internal.reconcile.DocumentRegionProcessor, I had to add it hat hand (when part is opened) to benefit with SSE validation.
 * outline & quick outline: not OK because it cannot be overrided, so I have created my own Tern Outline ViewPart.
 * refactoring : I have not explored that, but I would like to provide that because ternjs can support it.
 * syntax coloration: how to customize syntax coloration with TypeScript to customize ES7 decorators, etc?
 
So we have 2 choices to extends JSDT with tern, typescript language servicve, etc:

 * use existing extension point (for completion, hyperlink, etc), by updating it to remove the JSDT AST.
 * provide an API like TypeScript Language Service API for the whole features like

--------------------------------------
public interface IJavaScriptInferenceEngine {

  void completions(IFile file, IDocument, int position, ICompletionCollector collector) throws TSException;

  void hover(IFile file, IDocument, int position, IHoverCollector collector) throws TSException;
  
}
--------------------------------------

In my sample, I use collector API (and not returns list of compltion proposal) to support async completion, etc

I don't know what is the best solution.

Regard's Angelo

Thanks,
--
Gorkem


On 1 Dec 2015, at 23:11, Angelo zerr wrote:

Sorry for the spam, but please see
https://github.com/angelozerr/jsbuild-eclipse/wiki/Getting-Started to see
screenshot about Grunt/Gulp tasks inside View and Project Explorer.

Hope you will like it.

2015-12-02 5:08 GMT+01:00 Angelo zerr <angelo.zerr@xxxxxxxxx>:

Hi Gorkem,

Here some information:

* for JSON Editor, I have forked webtools.sourceediting at
https://github.com/angelozerr/webtools.sourceediting/tree/JSONEditor to
add plugins and do some changes that Victor asked me.
* for Grunt/Gulp please see https://github.com/angelozerr/jsbuild-eclipse
which provides an Ant View task like for Grunt/Gulp and it works too with
CNF.

I use tern to extract Grunt/Gulp tasks, but all plugins which starts with
"fr.opensagres.eclipse" (to execute Grunt/Gulp tasks) are not linked to
tern. Please note that "fr.opensagres.eclipse" plugins are a copy/paste of
Ant project.

Regard's Angelo

2015-12-02 1:10 GMT+01:00 Gorkem Ercan <gorkem.ercan@xxxxxxxxx>:

The meeting minutes are now available on wiki.

https://wiki.eclipse.org/JSDT/Confcalls/Minutes_20151201

Thanks everyone for attending.
--
Gorkem
_______________________________________________
wtp-dev mailing list
wtp-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe
from this list, visit
https://dev.eclipse.org/mailman/listinfo/wtp-dev



_______________________________________________
wtp-dev mailing list
wtp-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/wtp-dev
_______________________________________________
wtp-dev mailing list
wtp-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/wtp-dev


Back to the top