Package limn.components.text


package limn.components.text
The headless editing engine behind the text components: TextEditModel owns the buffer, the caret, the anchor-based selection, line movement with a sticky goal column and bounded undo/redo, stepping by grapheme cluster so combining marks and ZWJ emoji are never split. It draws nothing and knows no widget, which is what lets the editing rules the single-line and multiline fields share be exercised in tests without a scene.
  • Class
    Description
    Pure, headless text-editing model shared by TextField/PasswordField (single line) and TextArea (multiline): cursor, anchor-based selection, line-aware Home/End and Up/Down with a sticky goal column, bounded undo/redo.
    The lines edits have replaced: lines [firstLine, oldLastLine] of the text as it stood at the last TextEditModel.clearLineDamage() became lines [firstLine, newLastLine] of the text as it stands now.