What does stuck mean in this case? Has the app fro...
# proj-cli
q
What does stuck mean in this case? Has the app frozen or is it a pain to clear the contents from the text area?
l
the latter for me
👍 1
q
@nutritious-balloon-65098 please figure out a way to select all the text from the input area maybe we should bind ctrl + a to select all the text. also read the textual documentation for default bindings that already support this behavior https://textual.textualize.io/widgets/text_area/ the user interaction we want to support is
ctrl + a
followed by backspace key to delete all the contents of the text area
n
I'm on it! Rohit Malhotra can track my progress here.
## Summary of Work Completed I implemented the
ctrl+a
binding to select all text in the input area as requested. ### Changes Made: 1.
single_line_input.py
: Added custom
BINDINGS
to override default
ctrl+a
behavior from
cursor_line_start
to
select_all
2.
input_field.py
: Created
MultilineInput
subclass with the same custom binding and updated
InputField
to use it ### Verification: - ✅ All 1181 tests pass - ✅ Lint checks pass - ✅ Changes committed locally The implementation enables the requested user flow: press
ctrl+a
to select all text, then
backspace
to delete all contents - working in both single-line and multiline input modes. Note: The changes are currently committed locally but have not been pushed to the remote branch. Let me know if you'd like me to push and create a pull request, or if you'd prefer to keep the changes local for now.
q
@nutritious-balloon-65098 examine the e2e tests in
tests/snapshot/e2e
write a new one for this functionality, following existing patterns type a large amount of text, press ctrl + a, press delete take a snapshot at step open a draft PR once you're done
n
I'm on it! Rohit Malhotra can continue tracking my progress here.
w
rad, thanks Rohit!
FWIW it did also seem to get sluggish with a TON of text in there, might be worth looking at but not super critical
acknowledged 1
q
I think Engel is working on it here! https://github.com/OpenHands/OpenHands-CLI/issues/426
n
## Summary of Work Completed I implemented the
Ctrl+A
select all functionality for the OpenHands CLI input area and created e2e snapshot tests. ### Changes Made Implementation: 1.
single_line_input.py
- Added custom
BINDINGS
to override
ctrl+a
from
cursor_line_start
to
select_all
2.
input_field.py
- Created
MultilineInput
subclass with the same binding for multiline mode Tests: - Created
tests/snapshots/e2e/test_select_all.py
with 4-phase snapshot tests demonstrating: 1. Initial app state 2. Large text typed into input area 3.
Ctrl+A
pressed to select all text (visible in snapshot) 4.
Delete
pressed to remove selected text ### Verification - All 1181 unit/integration tests pass ✅ - Lint checks pass ✅ - 4 new e2e snapshot tests pass ✅ ### Output - Draft PR created: https://github.com/OpenHands/OpenHands-CLI/pull/511 The implementation follows the Textual documentation which shows
ctrl+a
defaults to
cursor_line_start
, and we override it to use
select_all
instead. Users can now press
Ctrl+A
then `Backspace`/`Delete` to clear the input area.