Select the types of activity you want to include in your feed.
Add fuzzy Ctrl+R history search, which -f, and ls modified times.
Replace reverse-i-search with a stinkpot-style multi-match picker, add which --follow via realpath, show local datetimes for ls modified, and cover the new behavior with tests.
···7070| **Tab** | Command completion (builtins + `PATH`) at the start of a pipeline stage; filename completion for arguments (common prefix; list matches if ambiguous) |
7171| **→ / Ctrl+F / End / Ctrl+E** (at end of line) | Accept greyed-out history suggestion (full) |
7272| **Alt+F** (at end of line) | Accept one word of the history suggestion |
7373-| **Ctrl+R** | Reverse-i-search through history (Enter accepts onto the line) |
7373+| **Ctrl+R** | Fuzzy history search (stinkpot-style list; ↑/↓ move, Enter/Tab accept onto the line, Esc cancel) |
7474| Ctrl+A / Ctrl+E | Beginning / end of line (Ctrl+E at end also accepts a history hint) |
7575| Ctrl+W | Delete previous word |
7676| Ctrl+U / Ctrl+K | Kill to start / end of line |
···117117^uname -a
118118which ls
119119which -a ls
120120+which -f sh
120121```
121122122123## Language sketch
···134135| Env | `$env`, `$env.HOME`, `$env.FOO = value` |
135136| Flags | `--flag` / `--flag value` |
136137| Force external | `^command args…` |
137137-| Comments | `# …` |
138138+| Comments | `# …` (word-boundary only; mid-token `#` is fine — `nixpkgs#pkg`) |
138139139140## Built-ins
140141···162163```text
163164src/
164165 gleshell.gleam # entry + REPL
165165- gleshell_ffi.erl # line editor (Ctrl+R), cwd, process spawn
166166+ gleshell_ffi.erl # line editor (Ctrl+R fuzzy history), cwd, process spawn
166167 gleshell/
167168 value.gleam # structured Value type
168169 lexer.gleam / parser.gleam