Whats new in Xtext Indigo

Looking for the Helios Release? Click here

Here are descriptions of some of the more interesting or significant changes made to Xtext for the Indigo release of Eclipse, grouped by the different milestones:

M7 (05/03/2011) 27 bugzillas

Compare View

The fully functional editor is now integrated in the compare editor.

Compare

M6 (03/15/2011) 22 bugzillas

Xbase

We've been working on Xbase, which is a reusable expression language for quite some time. However we think that with M6 brave people can start playing around with it.

Xtend 2

Xtend 2 is a code generation language compiled to performant Java code. It is statically typed, built with Xtext and based on Xbase.

Xtend

M5 (02/08/2011) 39 bugzillas

Rename Refactorings

Any Xtext based language now gets support for rename refactorings without any further ado.

Rename Refactoring
Support for syntactic predicates

The Xtext grammar languages now supports syntactic predicates, which allows to switch off backtracking in many cases. This in turn not only improves parsing time but also error recovery.

Syntactic Predicates

M4 (12/14/2010) 13 bugzillas

Rich Hovers

Rich hovers are now shown on any reference and declaration. By default it displays information about the declaration and also shows a preceding multi-line comment with full HTML support. However what is shown can be easily customized.

Rich Hovers
Terminal Fragments

Terminal rules can now be marked as fragments, which is semantically equivalent to ANTLR's lexer rule fragments.

M3 (09/28/2010) 29 bugzillas

Xtext Syntax Graph

For Xtext grammars there is a graphical view based on the prominent rail road diagram type. It is linked with the textual syntax and also displays markers. You can find it under Views->Xtext->Xtext Syntax Graph.

RailRoadDiagram
Action-free Antlr Grammar

A new generator fragment (org.eclipse.xtext.generator.parser.antlr.DebugAntlrGeneratorFragment) generates a readable action free Antlr version of you Xtext grammar. That one can be opened with AntlrWorks which sports a nice grammar debugger and interpreter.

RailRoadDiagram
Support for abbreviated type names in content assist

Like in JDT Xtext content assist now supports abbreviated names in content assist. That is you only need to type the first character of each namespace segment in order to filter down the list of proposals.

Content Assist Abbreviations

M2 (08/17/2010) 31 bugzillas

Repository Moved Repository Moved to Git

We migrated the code repository from CVS to Git. Now it is so much easier to synchronize, revise patches, implement new features in local branches etc. Almost all our issues with the repositories are gone. Byebye CVS, we won't miss you!

Code Cleanup

To keep our code base consistent and easy to understand, we have cleaned up major parts, removing deprecated classes, harmonizing implementations, and eliminating unneeded API. Now the code is ready for new features!

Document Partitions and
Auto Editing

Xtext now supports document partitions, which is enables several UI enhancements. Auto editing and bracket matching have been reimplemented on that basis to better conform to the user's expectations.

Redesign of the Content Outline

We rewrote the outline code to make customization easier. Major calculation parts have been moved into a separate job thus no longer blocking the UI. Some performance leaks, e.g. in sorting, have been patched on the way.

New Outline
QuickFixes for the Xtext Grammar Language

The editor for Xtext grammars offers a bunch of new QuickFixes for model names, enum literals, actions and missing rules.

Clustered Builder

We reduced the memory consumption of the Xtext builder by processing changed model resources in clusters. See bug 325759 for details.