New and Noteworthy 0.9.0 - angelozerr/tern.java GitHub Wiki

Here's a list of the most noteworthy things in the tern.java 0.9.0 release which is available for download since 04/16/2015. You can see issues for 0.9.0

Async tern completion

When your project have a lot of JavaScript files, it can take a long time for Tern to parse and analyse all of them. To avoid freeze of the UI when you try to open completion proposals, parsing and analysis of your JavaScript files is now done asynchronously with a Job. Additionally, all files from the script path are being uploaded to the server when you first open the file, so that you need to wait even less for the first completion proposals to appear.

When Tern server is parsing and analysing JavaScript files for a long time, completion proposals list shows now a message tell that Tern server is still working :

  • here a screenshot when completion calculation takes time:

Completion calculation

  • here a screenshot when Tern server is processing:

Completion server processing

WTP Tern Validator

You can validate your JavaScript files with JSHint, ESLint, JSCS or Lint based on WTP Tern Validator.

JSHint validation

See here for more informations.

Grunt & Gulp support

JavaScript Build Eclipse is a set of plugins based on tern.java which gives support for Grunt and Gulp (and more?). It provides the Build Explorer view which looks like the Ant view. The Build Explorer displays in a tree the tasks :

Build file View

With the Build Explorer, you can :

  • display in a tree, tasks and targets from Gruntfile.js / glupfile.js.
  • execute task/target with Eclipse launch by double clicking in the task / target item of the tree.
  • navigate to the definition of a task or target: opens the Gruntfile.js / glupfile.js and selects the location where task/target is declared.

To collect tasks / targets from Gruntfile.js / glupfile.js, tern.java is used :

Those tern plugins are used too for JavaScript editor completion :

grunt completion

YUI / AlloyUI Improvement

YUI / AlloyUI tern plugins was improved with the following features :

  • completion for object literal :

YUI completion object literal

  • completion for available modules :

YUI Completion module

  • validation module (which is available if you enable the (Semantic) Lint linter) :

YUI validation module

Google Maps Improvement

Google Maps JavaScript Api support was improved with the following features :

  • completion for object literal :

GMaps Object literal completion

  • validation for object literal (which is available if you enable the (Semantic) Lint linter) :

GMaps Object literal validation