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:
| Compare View |
The fully functional editor is now integrated in the compare editor.
|
| 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.
|
| Rename Refactorings |
Any Xtext based language now gets support for rename refactorings without any further ado.
|
| 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.
|
| 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.
|
| Terminal Fragments |
Terminal rules can now be marked as fragments, which is semantically equivalent to ANTLR's lexer rule fragments. |
| 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.
|
| 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.
|
| 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.
|
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.
|
| 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. |