mobile-shell / mobile-shell/mosh
Instant response to readline-ish line editing
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 14.5k
- Forks
- 865
- PR merge metrics
- No merged PRs in 30d
Description
Mosh currently provides instant response to basic line editing: Typing and moving the cursor using the arrow keys. This feature is a great productivity-enhancer on high-latency links.
However, as soon as some more advanced line-editing is attempted, the predictive model gives up, and Mosh will wait for the server response before regaining the instant responsiveness.
Examples of commonly used line-editing that is not supported include:
- moving the cursor backwards by a whole word (using
meta+b) - erasing a whole word backwards (using
meta+backspace) - transposing characters or words (using
ctrl+tandmeta+t)
This is all readline-ish behaviour. Granted, not all programs are readline-based. Yet, it seems to be a fairly safe assumption that readline-ish behaviour is expected when any of the keystrokes given above are detected.
Wouldn't it be neat if mosh employed readline locally to guess the outcome of these line-editing operations?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing mosh's predictive model for the existing instant arrow-key editing, then examine how readline-style operations are represented. Done means commonly used word movement, word deletion, and character or word transposition are predicted locally without waiting for the server.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100