diff options
Diffstat (limited to 'docs/typ/cheatsheet.typ')
| -rw-r--r-- | docs/typ/cheatsheet.typ | 45 |
1 files changed, 13 insertions, 32 deletions
diff --git a/docs/typ/cheatsheet.typ b/docs/typ/cheatsheet.typ index 878db27e..34c4507c 100644 --- a/docs/typ/cheatsheet.typ +++ b/docs/typ/cheatsheet.typ @@ -20,22 +20,16 @@ chord("B2", "B1"), [execute the word with the B1 selection as argument (#word("Grep") on a selected name)], chord("B2", "B3"), [cancel the sweep (#chord("B3", "B2") too)], ) -A program that takes the mouse (htop, vim `mouse=a`) gets #btn("B1") and the wheel; #btn("B2")#btn("B3") stay pardes's. Hold Shift to swap: #btn("B1", shift: true) selects, #btn("B2", shift: true) goes to the program. +Over a program that takes the mouse, Shift swaps: #btn("B1", shift: true) selects, #btn("B2", shift: true) goes to the program. == Tags -Three levels of command text, every word live: the workspace tag, a tag per column, a tag per pane (file, terminal, PDF). #tag("Newcol Joincol Find Grep Help Changelog Tutor Dump Themes Config Debug Exit") #tag("New Tty Find Grep Joincol Delcol") #tag("Save Tty Collapse Del", path: "/home/me/notes.txt") #tag("Tty+bash Save Mode Filter Collapse Del", path: "/home/me/src") #tag("Tty PdfSections PdfTint Collapse Del", path: "manual.pdf [1/12]") -- Type anything into a tag and click it: tags are text, with undo. -- A pane's words run in its directory; workspace and column tags in the session's. -- #word("Del") closes, rows to the pane above (`Del j`: below); #key("SPC d") asks #key("k") or #key("j"). Unsaved text (marked on the grip) is refused once: #word("Del") again discards. -- #word("Collapse") folds a pane to its tag; again unfolds. -- Click the path to rename (Enter confirms); #word("Save") writes. -- #word("Undo") #word("Redo") #word("Edit") #word("Mode") work typed anywhere. -- New panes: #word("Placement") `acme` (default) or `pardes`. #doc("tags") +- #word("Del") over unsaved text refuses once; again discards. `Del j`: rows below. +- #word("Undo") #word("Redo") #word("Edit") #word("Mode") work typed anywhere. #doc("tags") == Look addresses Typed anywhere, then #btn("B3") or #key("Enter"): @@ -116,40 +110,27 @@ Helix-style: motions *select*, then an edit acts on the selection. Mode box: bla ) == Terminals and commands -- A terminal is a pane. #key("Ctrl-b") switches it between raw (`$`) and normal mode, where the same keys move over its text, prompts hidden. -- Raw: keys go to the program; #key("Esc") at a prompt with nothing typed goes back to the previous pane, #key("Shift-Esc") always. -- #word("Mode") cycles raw, normal, insert. #word("Filter") maps its colours to the theme. #word("Tty+bash") opens another on that shell. -- #btn("B2") on any non-builtin line (`make`, `git log`) runs it with #word("Shell") `-c` in the pane's directory, in a *command pane*: #tag("Kill Save Collapse Del", path: "/home/me/src (make) exit 0") -- #word("Kill") stops what pardes started (`Kill make`: those lines); #word("Exit") quits. -- `Repl python` in a terminal tag: clicks in a `.py` pane go to it. +- #key("Ctrl-b"): raw (`$`) or normal. #word("Mode") cycles raw, normal, insert. #word("Filter"), #word("Tty+bash"). +- #btn("B2") on a non-builtin line runs it in a *command pane*: #tag("Kill Save Collapse Del", path: "/home/me/src (make) exit 0") +- #word("Kill") `make` stops it; #word("Exit") quits. `Repl python`: `.py` clicks go to it. == Reviewing diffs -Run `git diff` (or open a `.patch`): it shows as a coloured diff. #btn("B3") on a `diff --git`, `---` or `+++` line opens the file; on `@@` the hunk's new line; on a hunk line's `+`/`-`/space, that line in the new file. #doc("tags", section: "reviewing-diffs") +`git diff` output is a diff: #btn("B3") on a file line, an `@@` or a line's `+`/`-` jumps there. #doc("tags", section: "reviewing-diffs") == Finding things -- #word("Find") `name`: files below this pane's directory; #word("Grep") `text`: lines holding it, literally, under every pane's directory. Bare, they ask; results land in `+Search`, a place per line for #btn("B3"). -- #word("Recent"): files opened lately, closed ones too, each reopened where you left it. -- #word("Help"): every key and builtin. #word("Tutor"): the tutorial. +- #word("Find") `name`, #word("Grep") `text` (literal): a `+Search` listing. #word("Recent"): files lately. #word("Help"), #word("Tutor"). == Sessions -- `pardes --detach=work` runs a core with no screen; `pardes --attach=work` (or #word("Attach") `work`) shows it; #word("Detach") leaves it running, shells and all. #doc("detached") +`pardes --detach=work`; `--attach=work` or #word("Attach") `work`; #word("Detach") leaves it running. #doc("detached") == Config -- #word("Config") (#key("SPC f c")) opens `~/.config/pardes/init`; a line per builtin, run at start; `#` comments. -``` -Theme atelier -Shell zsh -Placement pardes -``` -- #word("DumpConfig"): every live setting as a word to click; it pastes back into `init` as is. -- Keys are compile-time, in `src/config.zig`. -- #word("Dump") / #word("Restore"): save and reload the workspace (`pardes -l dump.zon`). #doc("config") +#word("Config") (#key("SPC f c")): `~/.config/pardes/init`, a builtin a line (`Theme atelier`). #word("DumpConfig"): every setting. #word("Dump") / #word("Restore"): the workspace. #doc("config") == Themes -#word("Themes") lists them, a word each; #word("Theme") `name` sets one; #word("NextColor") walks the ring. `orchard` is the default, `atelier` this page's. #word("DumpThemes") writes them as `.zon`; #word("ThemeFile") `x.zon` loads one, live on save. #doc("themes") +#word("Themes") lists them; #word("Theme") `name`; #word("NextColor"); #word("ThemeFile") `x.zon`. #doc("themes") == 9P control filesystem -Every session serves its panes as files. Pane shells get `$PARDES_9P` (socket), `$PARDES_PANE` (serial). +Pane shells get `$PARDES_9P` (the socket) and `$PARDES_PANE` (their own pane); a command clicked in a pane also gets `$winid`, the pane it was clicked in. #cmd("9ns --mntgen # m=$NINE_MOUNT/pardes/<pid|name>") #cmd("9p -a \"unix!$PARDES_9P\" read index") #pairs( @@ -165,5 +146,5 @@ Every session serves its panes as files. Pane shells get `$PARDES_9P` (socket), #cmd("echo /foo/ > $m/pane/$n/addr; printf bar > $m/pane/$n/data") #cmd("echo 'Edit ,x/foo/c/bar/' > $m/pane/$n/ctl") #cmd("exec 3<>$m/log; echo follow >&3; cat <&3") -`pardes FILE` in a pane opens it here; `EDITOR='pardes --wait'` returns when its pane closes. `cat $m/README`. #doc("fs") +`pardes FILE` opens it here; `EDITOR='pardes --wait'`. #doc("fs") |
