quick-window-91705
02/16/2026, 6:54 PMlimited-student-10747
02/16/2026, 6:54 PMquick-window-91705
02/16/2026, 6:56 PMctrl + a followed by backspace key to delete all the contents of the text areanutritious-balloon-65098
02/16/2026, 6:56 PMnutritious-balloon-65098
02/16/2026, 7:02 PMctrl+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.quick-window-91705
02/16/2026, 7:02 PMtests/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 donenutritious-balloon-65098
02/16/2026, 7:02 PMwooden-umbrella-84098
02/16/2026, 7:05 PMwooden-umbrella-84098
02/16/2026, 7:05 PMquick-window-91705
02/16/2026, 7:07 PMnutritious-balloon-65098
02/16/2026, 7:12 PMCtrl+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.