
Explores a custom text editor with rich text rendering, efficient long-form text handling, cursor movement, text selection, and spell-check capabilities. Features custom span drawing and efficient edit tracking.
Compose has been missing a Rich Text Editor since its inception. I've taken a crack at this previously, as have others.
However, they have all suffered from fundamental limitations in BasicTextField, the foundation of
all text entry in Compose.
This project is an attempt to re-implement text entry from scratch to finally have a solution to the various problems.faw
I've been trying to implement a spell checking text
field in Compose, and keep running up against
the limitations of BasicTextField. Pretty much out of options, I decided to see what it might take
to replace BasicTextField with something that solved all of my needs.
And now, it's working, and at this point, working pretty well.
It's probably not a permanent solution.
BasicTextField2's new state based approach and gap-buffer has reach maturity and includes a lot of what I would need
to replace this, but still cannot handle rich text rendering. So until that is solved, this is the only solution
that I am aware of that ticks every box:
You can Give it a try here.
All of the platforms supported by Compose Text Editor are now supported.
Text Editor:
implementation("com.darkrockstudios:composetexteditor:1.5.0")
Spell Checking addon:
implementation("com.darkrockstudios:composetexteditor-spellcheck:1.5.0")
Find & Replace addon:
implementation("com.darkrockstudios:composetexteditor-find:1.5.0")
Compose has been missing a Rich Text Editor since its inception. I've taken a crack at this previously, as have others.
However, they have all suffered from fundamental limitations in BasicTextField, the foundation of
all text entry in Compose.
This project is an attempt to re-implement text entry from scratch to finally have a solution to the various problems.faw
I've been trying to implement a spell checking text
field in Compose, and keep running up against
the limitations of BasicTextField. Pretty much out of options, I decided to see what it might take
to replace BasicTextField with something that solved all of my needs.
And now, it's working, and at this point, working pretty well.
It's probably not a permanent solution.
BasicTextField2's new state based approach and gap-buffer has reach maturity and includes a lot of what I would need
to replace this, but still cannot handle rich text rendering. So until that is solved, this is the only solution
that I am aware of that ticks every box:
You can Give it a try here.
All of the platforms supported by Compose Text Editor are now supported.
Text Editor:
implementation("com.darkrockstudios:composetexteditor:1.5.0")
Spell Checking addon:
implementation("com.darkrockstudios:composetexteditor-spellcheck:1.5.0")
Find & Replace addon:
implementation("com.darkrockstudios:composetexteditor-find:1.5.0")