void move(EditableText &s, int n)
Move the cursor by n codepoints.
void erase(EditableText &s, int n)
Erase n codepoints from the cursor.
void insert_codepoint(EditableText &s, uint32_t codepoint)
Insert one codepoint at the cursor, advancing it past the insert.
void insert_literal(EditableText &s, char c)
Insert one raw ASCII byte at the cursor, advancing it past the insert.
Mutable UTF-8 text plus a byte-offset cursor.