New and Noteworthy in Orion 13.0

With Orion 13.0 released (just in time for the holidays), it is time again to share with you the new & noteworthy items developed during this release. There are lots of changes across all of Orion, so lets dive in to each area and see whats new.

Accessibility

We have been striving to make Orion as accessible as possible to all developers. In Orion 13.0 we have improved accessibility across the board – from standard labels to the code edit widget and everything in-between. We still have a ways to go, but plan to be fully accessible in Orion 14.0.

Code Edit Widget

The code edit widget just keeps getting better and better. In Orion 13.0 two great things happened: (1) You can finally see the keybinding dialog, and, (2) you can now add your own custom code folding!

To jump right in and start enhancing your use of the widget with some cool folding, check out the docs.

Electron

We have created an experimental version of Orion that runs as an Electron app!

The Experimental Orion Electron app

The experimental Orion Electron app

Currently, to use the app, you have to build and run it locally (we are working on providing regular builds of the app).

Language Server Protocol

A lot of work has gone into investigating and supporting the language server protocol since its announcement last summer.

In Orion 13.0 we have experimental support for the LSP and for Java that can be used on your local machine. For full details on how to get up and running, see this great readme.

Language Tools

Lots of cool new stuff is available in the language tools in 13.0.

Linting

We have provided 13 new linting rules (a coincidence, I promise), such as, no-extra-bind and no-implicit-coercion. The complete list of rules added in 13.0 can be found on our rules wiki.

The no-implicit-coercion linting rule

no-implicit-coercion (with fix)

To accompany the new linting rules, many new quickfixes have been added as well, allowing problems to be quickly and easily resolved.

The quotes linting rule quickfix

quotes rule quickfix

To keep all of the rules running smoothly, we also updated to ESLint 3.0.1

ECMA 2016

Orion 13.0 ships with complete support for ECMA 2016. To start developing using the new language features, you have to make sure to set the ecmaVersion entry in your .tern-project file to 7.

ECMA 2016 example snippet showing content assist

ECMA 2016 example

AST Outline

A lot of times, while working on language tooling features, developer have wondered what the backing AST looks like (to help diagnose whats wrong). In Orion 13.0 we have provided an AST outline for JavaScript, to make this task easier.

You can see the new outline using the View > Slideout > AST Outline menu item when working in JavaScript files.

The AST outline showing a simple snippet

AST outline

Code Formatting

One of the most sought-after features of an IDE is the ability to quickly fix the shape of code. One of the easiest ways to do that is code formatting. In Orion 13.0 we provided a platform API (orion.edit.format) to add formatting to any language, editor hooks to format-on-save, support to format selections of code and support for .jsbeautifyrc files (for project-level formatting options).

Orion ships with four language formatting implementations: (1) JavaScript, (2) HTML, (3) CSS, and (4) JSON.

Formatting can be used in one of three ways:

  1. Format-on-save: head into the editor options to enable this feature, then, as you save your work, it will also be formatted
  2. The Edit menu item: look for Format Code under the Edit main menu
  3. The pop-up menu: look for Format Code in the pop-up menu in the editor
Format code popup menu from the editor

Format code in editor

Not happy with the way the formatted code looks for JS/HTML/CSS/JSON? Simply head over to the formatting preference pages for each language and change the settings as desired.

The page with CSS formatting options on it

CSS formatting options

HTML Validator

In addition to updating our HTML parser in Orion 13.0, we also provided a pluggable HTML validator to help you keep your page source in tip top shape.

Example HTML validation

HTML validation

Like all our other validation, you can configure the HTML rules severities. The settings are found on the HTML Validation settings page.

Improved Internationalisation

All of the linting messages coming from the CSS tooling can now appear in other languages than English.

Updated Libraries

As we do each release, we have updated many of the libraries we use in our language tools. This time around we updated the following:

  • ESLint to 3.0.1
  • Doctrine to 1.2.2
  • ESTraverse to 4.2.0
  • Acorn to 3.3.0

Platform Improvements

Syntax Styling

Orion 13.0 has improved syntax styling support for many of our existing languages (like PHP and SQL) and also adds support for .sh files

Excluded Files

Any callers of the search API (via the file client) can now specify an array of names to be ignored by the search engine. This allows callers to ignore all kinds of things they don’t care about while speeding up the search for things they do.

The new property is named ‘exclude’ and is an array of strings. See the API doc for more information.

Filtered Resources

Sometimes there are things you just don’t want to see in your workspace (or that you shouldn’t see). In Orion 13.0 we provided the ability to filter / hide resources from appearing in the UI.

The preference for this is on the General settings preference page and is a simple comma-separated list of names of things to not show.

Shows general settings page and hidden resources preference

Resource names to hide

Light Theme

Orion now sports a shiny new light theme!

But don’t worry if you really really liked the old theme, in Orion 14 we are bringing back the theme preferences to allow this to be customized.

This entry was posted in New & Noteworthy and tagged , , , . Bookmark the permalink.