public void execute(jetbrains.mps.openapi.editor.EditorContext context) { EditorCell selection = getDeepestSelectedCell(context); EditorCell target = findTarget(selection); ((EditorComponent) context.getEditorComponent()).changeSelection(target); if (target.isPunctuationLayout() && ((EditorCell_Label) target).isCaretPositionAllowed(1)) { ((EditorCell_Label) target).setCaretPosition(1); } else if (target instanceof EditorCell_Label) { EditorCell_Label label = (EditorCell_Label) target; label.home(); } }
public void execute(jetbrains.mps.openapi.editor.EditorContext context) { SelectionManager selectionManager = ((EditorComponent) context.getEditorComponent()).getSelectionManager(); EditorCell cell = findTarget(selectionManager); selectionManager.setSelection(cell); if (cell.isPunctuationLayout() && (cell instanceof EditorCell_Label) && ((EditorCell_Label) cell).isCaretPositionAllowed(1)) { ((EditorCell_Label) cell).setCaretPosition(1); } else { cell.home(); } }