The first Early Access Program build for MPS 2020.1 is here!
It’s time to kick off the journey to MPS 2020.1 with this first build in the EAP. For this EAP, we have developed new features to improve the editor’s usability.
Type over existing text (MPS-31209)
Type over existing text is a new feature that makes the projectional editor feel a bit more like a text editor. When typing into a text cell, if the character you just typed was already present at the cursor position, then the cursor will move over as if you just overwrote the existing character. This feature is only triggered if the keystroke cannot be gracefully processed and would otherwise be ignored (e.g. in constant cells) or would make the cell content invalid.
This feature is ON by default, and you can turn it OFF in Settings / Editor / General tab.
The ability to use different separators depending on position in list
When editing nodes with cardinality (0,n) or (1,n), you have the ability to provide a custom separator between values by implementing a separator query function. This feature extends that capability by passing more arguments to the query function (namely prevNode and nextNode), making it possible to provide a custom separator for each pair of values.
Multi-line comments in BaseLanguage (MPS-30662)
The functionality of SingleLineComment has been slightly enhanced, and the new MultiLineComment concept has been introduced into BaseLanguage to provide support for comments delimited with the /* … */ symbols in the same way that Java does.
Transform/substitute menus: merge named and default menus (MPS-31588)
This is a technical debt (refactoring) enhancement that removed the custom concepts for named (SubstituteMenu_Named) and default (SubstituteMenu_Default) editor menus. Both concepts were merged into their parent (SubstituteMenu). The menu type is now selected in the menu editor. The same refactoring was applied to Transformation menus.
And that’s not all! We’ve also fixed a bunch of bugs. You can see the whole list here.
Have a great day!
Your JetBrains MPS team