Friday, March 7, 2014

Closure IDE Update 1.2.2.201403071751

The update 1.2.2 is released. The update is mainly dedicated to bug fixes and includes some useful new features.
Please explore Update Notes for more details.

Toggling of comments

You can toggle comments for code in the JavaScript editor. The leading characters // are added to the beginning of each line when commenting one or more lines of code. You can also block comment multiple lines of code using the characters /* */.


Red Underlines for errors in JavaScript editor

Red underlines appear under the code for which the compiler reports errors and warnings.
The lines help you understand the code on the given line that causes problems.

Tuesday, February 25, 2014

Atlas for Maple Update 2.1.0

Covariant and Contravariant basis declarations

The update 2.1.0 allows you to use covariant and contravariant basis declarations.
Now if you declare Frame first, the Coframe will be calculated automatically. Or you can declare Coframe first and then have the Frame automatically calculated.

You can use examples for covariant and contravariant basises from the DG Library.
For instance:
Moreover, now you can work with these and other DG Library objects from DG Library Browser which is introduced in this update.

DG Library Browser

Atlas for Maple 2.1.0 brings DG Library Browser to access to the online library of predefined differential geometry objects directly from Maple.
Use categories and search field to search for objects in the DG Library:

Choose objects from the list and click Code Generation button (colorful torus) in the menu and choose a folder to save Maple worksheets:

As a result, you get ready-to-use Maple worksheets which you can open and evaluate in Maple:

Explore all features of Atlas 2 for Maple on DigiArea website.

Closure IDE Update 1.2.1.201402251233

Line wrapping in the JavaScript editor

The update brings line wrapping in JavaScript editor to handle long lines of code and allows you to avoid horizontal scrolling. The line wrapping is also applied to comments and descriptions in JSDocs.

Performance Boost

Closure IDE uses special binary representation of JavaScript code for indexing using Zippy codec. These binary representations are used for proposals in the content assist, during the searching of declarations or types etc. As a result, we can work with thousands of JS symbols immediately, decrease CPU and memory usage because of a heavy AST cache.

Therefore, we decided to include ready binary representations for Closure Library, default and common JavaScript externs to the Closure IDE to further reduce time for the very first indexing.

The IDE also includes the source code of the latest version of Closure Library.
So, you can start working with the library easily and avoid additional downloads and configurations.
Explore Update Notes for more details.

Thursday, February 20, 2014

Closure FX Builder Update 1.2.0

The update 1.2.0 is here. You can download the update on Releases page in the DigiArea GitHub repository.

Command Line Interface

The update 1.2.0 brings the command line interface for Closure FX Builder to use it in automated build tasks.

One of the main goals of Closure FX Builder is simplifying configuration processes of Closure Tools for developers. Therefore, the CLI of the builder has only one option - closure - a path to your build configuration file (.closure). All options of Closure Tools are hidden in this build file and can be configured using feature-rich Closure FX Builder GUI.

Use the following command to run Closure FX Builder through command line:
java -jar /path/to/ClosureFXBuilder.jar -closure /path/to/build.closure

Export to Closure Compiler's command line

Now you can export .closure files to command line of Closure Compiler.
The result of the exporting is a file with options for the Closure Compiler. You can copy them and use in the command line as usual or use the file directly with flagfile option of the compiler.
java -jar compiler.jar --flagfile=build.closure.cli
Export Closure Build Configuration to Closure Compiler command line

Moving to Closure Compiler v20140110

The update 1.2.0 is bundled with the newest version of Closure Compiler - v20140110. For more information about the v20140110 update of the compiler, please read this post on Closure Compiler Discuss group.

Tuesday, February 11, 2014

Closure IDE Update 1.2.0.201402101718

Support Closure-based stuff

Closure Library brings a list of special functions which help you to declare JavaScript objects.
The update introduces support for the goog.inherits, goog.abstractMethod, goog.addSingletonGetter

goog.inherits

The method brings inheritance mechanism to JavaScript code. The function enriches your JS object/type with constructor_ and superclass_ fields. The superclass_ field can be used to call the super implementation of a method.

goog.abstractMethod

goog.abstractMethod can be used as a default implementation for your abstract methods.

goog.addSingletonGetter

The function allows you to easily implement Singleton Pattern for JavaScript objects. As a result, your JS object will have getInstance method that always returns the same instance of the object.

Support @typedef

JSDoc tag @typedef allows you to declare an alias for a more complex type. For example:
/** @typedef {(string|number)} */
goog.NumberLike;
The IDE supports type definitions in the same way as common types. The type definitions are marked by icon.
Types declared by @typedef tag can be open using Open Type:
Or using Open Declaration:
And properly supported by the content assist:

Support inner this.* declarations

Now the IDE supports declarations of fields and methods inside the constructor of an object. So, both of the following declarations are supported:
goog.provide("my.project.JSApp");

/**
* @constructor
*/
my.project.JSApp = function(){
}

/**
* @type {string}
* @private
*/
my.project.JSApp.prototype.name = "";

/**
* @return {string}
*/
my.project.JSApp.prototype.getName = function(){
    return this.name;
}
goog.provide("my.project.JSApp");

/**
* @constructor
*/
my.project.JSApp = function(){
    /**
    * @type {string}
    * @private
    */
    this.name = "";

    /**
    * @return {string}
    */
    this.getName = function(){
        return this.name;
    }
}

Source Map Generation

Meet the power of JavaScript Source Maps in Closure IDE. Now you can generate a source map for your compiled code to debug it easily.

Moving to Closure Compiler v20140110

The update 1.2.0.x is bundled with the newest version of Closure Compiler - v20140110. For more information about the v20140110 update of the compiler, please read this post on Closure Compiler Discuss group.
The above features and other bugs are supported and fixed with special thanks to our user and tester Erik De Bruin.
Explore Update Notes for more details.