- Include 'non-text' elements like boxes, lines, mathematical symbols to the editor display. Also maybe allow vertical/horizontal centered layouts. With this it should be possible to create something like mathematical-style or UML-like editor layouts. You don't need to go overboard with it, but there are a lot of posibilities to go beyond simple text-editor-graphics, maybe explore them cautiously bit by bit.
- The 'graying' of the field with focus overrides the text-color, so syntax-hilighting informations is lost for the active input field. Maybe replace the graying with a border around active cell, a blinking underline or best: Don't show focus of the whole cell and only use a blinking text-cursor instead, because it should be already obvious which cells is which, even if a cell isn't selected. Use 'Idea-style' error hilighing.
- if you select i.e. 'concept links' in a concept declaration and press 'enter', MPS displays ''. In cases like this, the system could display the chooser-popup without requiring the user to press ctrl-space. The same goes for other fields which receive focus and which only have a limited number of possible values (like true/false in 'is root').
Cursor movement should be more 'text-editor'-compatible:
- if you reached the most-left/most-right position in a line, move to the previous/next line if you press left/right again.
- Same for 'end' and 'pos 1' keys: Press once and move to start/end of actual cell, press twice, move to start/end of line.
- Use PageUp/Down: Keys with ctrl moves to start/end-line of actual editor content. Without, moves a screen-hight up/down.
- Don't make unneccessary cells editable/selectable, like 'extends' in a structure declaration. Go to the next/previous editable cell directly (next-cell on click).
- Use something like 'ctrl-y' to delete 'lines' instead of the 'delete'-key. Example:
In 'links' of 'concept declaration' you need to select 'target' to delete the whole entry. Make 'target' (and also 'specializes') non-selectable instead and use 'ctrl-y' to delete the whole line in situations like this.