### 🔲 To Do --- #### Cursor Movement - [x] `←` `→` — move one character at a time - [x] `Alt+B` / `Alt+F` — jump one word left / right - [x] `Ctrl+←` / `Ctrl+→` — same as Alt+B/F (alternate terminal sequences) - [x] `Home` / `End` — jump to start / end of line - [x] `Ctrl+A` / `Ctrl+E` — same as Home/End (Bash-style) #### Editing - [x] Printable characters — insert at cursor position, not just append - [x] `Backspace` — delete character to the left - [x] `Delete` — delete character to the right (forward delete) - [x] `Alt+Backspace` / `Ctrl+W` — delete whole word to the left - [x] `Alt+D` — delete whole word to the right - [x] `Ctrl+K` — kill everything from cursor to end of line - [x] `Ctrl+U` — kill everything from cursor to start of line #### Selection - [x] `Shift+←` / `Shift+→` — grow / shrink a text selection - [x] `Shift+Home` / `Shift+End` — select to start / end of line - [x] Typing while text is selected — replaces the selection - [x] `Backspace` while text is selected — deletes the selection #### Visual - [x] Live trailing whitespace highlighted in red background as you type - [x] Text selection shown with reversed colors #### History - [ ] `↑` / `↓` — scroll through previous commands - [ ] `Ctrl+R` — reverse search through history (type to fuzzy-find a past command) - [ ] Persist history to `~/.rawline_history` so it survives between sessions - [ ] History deduplication — don't save the same command twice in a row #### Autocomplete - [ ] `Tab` — complete current word from a list of known commands or keywords - [ ] Cycle through multiple matches with repeated `Tab` presses - [ ] Dropdown menu of suggestions rendered below the input line - [ ] Fuzzy matching — doesn't need to start with the same letters #### Multiline Input - [ ] `Alt+Enter` — insert a newline without submitting - [ ] Smart indentation — auto-indent next line based on previous #### Syntax Highlighting - [ ] Plug in [Pygments](https://pygments.org/) for real language syntax highlighting - [ ] Highlight matching brackets / parentheses when cursor is near one #### More Shortcuts - [ ] `Alt+C` — capitalize current word - [ ] `Ctrl+Y` — yank (paste) last killed text from `Ctrl+K` or `Ctrl+U` - [ ] `Ctrl+_` — undo last edit (with a full undo stack) #### Clipboard - [ ] `Ctrl+C` on a selection — copy to system clipboard - [ ] `Ctrl+V` — paste from system clipboard ---