| Commit message (Expand) | Author | Age |
| ... | |
| | * | | Z arms the view keys until Esc, and zm puts the cursor's column mid-view | Gabriel Schneider | 31 hours |
| | * | | Tab after text leaves the syntax node in insert mode; Shift-Tab indents | Gabriel Schneider | 31 hours |
| | * | | Insert Ctrl-s commits an undo checkpoint mid-session | Gabriel Schneider | 31 hours |
| | * | | Alt-u and Alt-U undo and redo | Gabriel Schneider | 31 hours |
| | * | | g. goes to where the last edit ended | Gabriel Schneider | 31 hours |
| | * | | Alt-o, Alt-i and the other tree-sitter keys walk the file's syntax tree | Gabriel Schneider | 31 hours |
| | * | | K and Alt-K keep or drop the ranges a regex matches in; Alt-: turns every ran... | Gabriel Schneider | 31 hours |
| | * | | A selection holds up to 1024 ranges on the desktop, 64 on the board | Gabriel Schneider | 31 hours |
| | * | | Q records keys into a register and q types them again; . repeats the last insert | Gabriel Schneider | 31 hours |
| | * | | $ keeps the selections a shell command exits 0 on, and line end is gl | Gabriel Schneider | 31 hours |
| | * | | A tag's edited text stays alive until the next edit, so ms and md in a tag re... | Gabriel Schneider | 31 hours |
| | * | | Every range lives through insert mode, carried through each edit | Gabriel Schneider | 31 hours |
| | * | | Registers hold a value per range, and "<reg> names one | Gabriel Schneider | 31 hours |
| | * | | & aligns the selections into columns | Gabriel Schneider | 31 hours |
| | * | | Backspace in a line's leading blanks goes back to the previous indent stop | Gabriel Schneider | 31 hours |
| | * | | Alt-( and Alt-) rotate the text of the selections | Gabriel Schneider | 31 hours |
| | * | | Alt-J joins lines and selects the spaces it put in | Gabriel Schneider | 31 hours |
| | * | | Blank lines open above a selection's first line and below its last | Gabriel Schneider | 31 hours |
| | * | | Replacing a selection with the register keeps its direction | Gabriel Schneider | 31 hours |
| | * | | Surround keeps the direction of the selection it wraps | Gabriel Schneider | 31 hours |
| * | | | The board build compiles again: pty status and run read no prompt marks where... | Gabriel Schneider | 31 hours |
| * | | | The docs say which shell a command runs in, what Kill's word matches, where d... | Gabriel Schneider | 31 hours |
| * | | | A REPL question's answer goes to the pane its letter offered, or says that on... | Gabriel Schneider | 31 hours |
| * | | | Errors are said in words, and a refusal names what it takes | Gabriel Schneider | 31 hours |
| * | | | A REPL's language is named and found as the syntax table finds one: aliases, ... | Gabriel Schneider | 31 hours |
| * | | | Focus on a closed pane goes to the pane that takes its place, never to the on... | Gabriel Schneider | 31 hours |
| * | | | A build that runs no commands refuses a word that is not a builtin, and says so | Gabriel Schneider | 31 hours |
| * | | | The web and board builds compile again: a shell's lookup and a dump's read ar... | Gabriel Schneider | 31 hours |
| * | | | Text sent to a REPL is plain lines, sent whole or not at all | Gabriel Schneider | 31 hours |
| * | | | A command's exit is told once its output is in, by the pty's state, not a timer | Gabriel Schneider | 31 hours |
| * | | | A click written back to event is done as the click, REPL and all; a REPL's ct... | Gabriel Schneider | 31 hours |
| * | | | Whether an exec came from a body travels with it, so every selection goes to ... | Gabriel Schneider | 31 hours |
| * | | | A detached session stopped by SIGTERM, SIGINT or SIGHUP unlinks its sockets | Gabriel Schneider | 31 hours |
| * | | | A 9P request that fills a stillborn scratch's column replaces the scratch bef... | Gabriel Schneider | 31 hours |
| * | | | A restored terminal's tag names neither the REPL it was nor the shell it had | Gabriel Schneider | 31 hours |
| * | | | A REPL takes text only while its program has the terminal | Gabriel Schneider | 31 hours |
| * | | | Tty with a shell that is not there says so, and never sets the caller's shell | Gabriel Schneider | 31 hours |
| * | | | A Restore of a dump that cannot be read fails at once, and spends no warning | Gabriel Schneider | 31 hours |
| * | | | The log's run record carries the whole command line, after the new record of ... | Gabriel Schneider | 31 hours |
| * | | | A command pane echoes its first command as it does the later ones | Gabriel Schneider | 31 hours |
| * | | | A command of several lines keeps its pane's tag to one row, and the tag never... | Gabriel Schneider | 31 hours |
| * | | | The 9P docs find the mount through $NINE_MOUNT, and then the editor is just f... | Gabriel Schneider | 31 hours |
| |/ / |
|
| * | | A terminal bound as a language's REPL takes the execs made on that language's... | Gabriel Schneider | 31 hours |
| * | | Kill signals a command only while it runs, and only the pane it was meant for | Gabriel Schneider | 31 hours |
| * | | A command pane's command is over when its process exits, not when its pty closes | Gabriel Schneider | 31 hours |
| * | | A reused command pane leaves the last program's screen modes before the next ... | Gabriel Schneider | 31 hours |
| * | | Only Tty reads Word+arg as its argument | Gabriel Schneider | 31 hours |
| * | | A spawn names the pane it was made for, so a pane closed and its slot retaken... | Gabriel Schneider | 31 hours |
| * | | A terminal's Tty word names its shell, Tty+fish, and a click on it opens another | Gabriel Schneider | 31 hours |
| * | | A command line runs as its own command pane unless it is clicked at a shell's... | Gabriel Schneider | 31 hours |