TextArea subclass with custom key handling for chat input.
ChatTextArea(
self,
**kwargs: Any = {},
)TextAreaScroll to make the cursor visible, guarding against cursor/document desync.
Textual's WrappedDocument.location_to_offset has an off-by-one in its
line-index clamp (len(...) instead of len(...) - 1). When a reactive
watcher (e.g. _watch_show_vertical_scrollbar) fires between a document
replacement and cursor update, the stale cursor location triggers a
ValueError. Guard here since scroll_cursor_visible is the sole
caller of _recompute_cursor_offset.
Set whether the app should show the cursor as active.
Set whether completion suggestions are visible.
Insert a newline character.
Set text from history navigation.
Clear the text area.
Message sent when text is submitted.
Request previous history entry.
Request next history entry.
Message sent when paste payload resolves to file paths.
Posted when the user presses a printable key or backspace.
Relayed by ChatInput as ChatInput.Typing for the app to track
typing activity.