tern.js is a stand-alone code-analysis engine for JavaScript written in Javascript.
tern.java provides the capability to use tern.js with Java context. It provides several implementation :
- wraps tern.js with Java code by using Rhino to create a Tern Server with Java code.
- wraps tern.js with Java code by using node.js to create a Tern Server with Java code.
- an other idea is to use javv8 but it seems the project is dead and I need win32 implementation.
- one more idea is to explorer Java 8 Nashorn JavaScript engine, possibly with avatar.js, see #33
As Tern is very CPU and memory intensive, the implementation with Rhino is very slow when JavaScript document is big. So it's better to use node.js or javv8.
Once that Tern Server is created with Java you can use it in any Java context (Eclipse, Netbeans, etc). tern.java provides the capability to use Tern Server with Eclipse :
- contentassist which uses tern.java. If you start the SWT TernEditor demo, you will see contentassist available for JavaScript :
Tern.java provides an Eclipse IDE integration with Tern. For more information please read Tern Eclipse IDE.
You can see AngularJS Eclipse which is based on tern.java.
To install Tern IDE, please read Installation - Update site section.
Warning: When checking out on Windows , you can run into #35 check out on Windows - Filename too long
See cloudbees job: https://opensagres.ci.cloudbees.com/job/tern.java/
As tern.js uses ECMAScript5, the Rhino version should support it. The org.mozilla.javascript is an OSGi bundle which wraps the JAR Rhino 1.7R4 which supports ECMAScript5.