summaryrefslogtreecommitdiff
path: root/docs/typ/reference.typ
diff options
context:
space:
mode:
Diffstat (limited to 'docs/typ/reference.typ')
-rw-r--r--docs/typ/reference.typ76
1 files changed, 52 insertions, 24 deletions
diff --git a/docs/typ/reference.typ b/docs/typ/reference.typ
index e79f9c4d..916f6b33 100644
--- a/docs/typ/reference.typ
+++ b/docs/typ/reference.typ
@@ -2,7 +2,7 @@
// does, how it fails, and the limits. How pardes behaves on screen is the
// guide's; recipes and traps are scripting's; how a mount cuts writes and
// the listeners are building's.
-#import "style.typ": key, keys, btn, chord, word, tag, addr, file, cmd, doc, pairs
+#import "style.typ": key, keys, btn, chord, word, tag, addr, file, cmd, doc, pairs, fstree
Every native session is a virtual filesystem, served as 9P2000 (not .u,
not .L), in acme's manner: panes, columns, tags and the session are
@@ -16,29 +16,57 @@ it names, or else run it as a shell line. The files #file("look") and
= The tree <tree>
-```
-/README the one-screen summary (src/fs-help.txt)
-/index a line per pane: serial kind dirty name column
-/status pid, version, panes
-/look /exec write a line: a right / middle click at the pane with the keyboard; read: the serials touched
-/pager write a directory: its one +Pager, made or emptied; read: its serial
-/log the event log; write `follow` to wait for more
-/screen the rendered screen as JSON
-/listeners dial addresses
-/focus the serial of the pane with the keyboard; write one to move it
-/ctl settings and session builtins
-/commands every builtin, one a line
-/recent files opened lately: open|closed <path>
-/layout a line per column, then `active <serial>`
-/tag /tagexec the workspace tag, and a word clicked in it
-/col/<n>/ tag ctl exec of column <n>; rmdir closes an empty one
-/pane/new open it to make a pane; read answers the serial
-/pane/<n>/ name body tag ctl addr dot limit data xdata sel dirty mark scroll
- errors event look exec tagexec, and pty/{ctl,status,data,run} on terminals;
- rmdir closes the pane
-/os/ the host filesystem
-/src/ the editor's sources (only with -Dembed-sources=true)
-```
+#fstree(```
+README the one-screen summary (src/fs-help.txt) @other-files
+index a line per pane: serial kind dirty name column @rules
+status pid, version, panes @other-files
+look write a line: a right click at the pane with the keyboard; read: the serials touched @look-and-exec
+exec write a line: a middle click there; read: the serials touched @look-and-exec
+pager write a directory: its one +Pager, made or emptied; read: its serial @pardes-stdin
+log the event log; write follow to wait for more @log
+screen the rendered screen as JSON @on-screen
+listeners dial addresses @other-files
+focus the serial of the pane with the keyboard; write one to move it @columns-and-tags
+ctl settings and session builtins @root-ctl
+commands every builtin, one a line @other-files
+recent files opened lately: open|closed <path> @other-files
+layout a line per column, then active <serial> @columns-and-tags
+tag the workspace tag @columns-and-tags
+tagexec a word clicked in the workspace tag @columns-and-tags
+col/ the columns @columns-and-tags
+ <n>/ column <n>; rmdir closes it when empty @columns-and-tags
+ tag its tag
+ ctl its builtins (Delcol Joincol New Tty)
+ exec a word clicked in its tag
+pane/ the panes @panes
+ new open it to make a pane; read answers the serial @panes
+ <n>/ pane <n>; rmdir closes it @panes
+ name the file name; write to rename @panes
+ body the text; a write appends, > replaces @panes
+ tag its path, then its words; a write replaces the words @panes
+ ctl builtins and ctl words, a line each @panes
+ addr the address data and xdata work on @addresses
+ dot the selection, as an address @addresses
+ limit where a forward search stops @addresses
+ data the text at addr; a write replaces it @addresses
+ xdata the text in addr's range only @addresses
+ sel the selected text; a write replaces it @panes
+ dirty 1 while the text differs from its file @flags
+ mark 0 or 1; a write marks an undo point @flags
+ scroll 0 or 1; a write scrolls the pane @flags
+ errors write-only: text for the directory's +Errors @panes
+ event the pane's clicks and keys, as acme's event file @event
+ look a right click at this pane @look-and-exec
+ exec a middle click at this pane @look-and-exec
+ tagexec a word clicked in this pane's tag @look-and-exec
+ pty/ terminals only @pty
+ ctl winsize, sig, exec @pty
+ status cols rows busy @pty
+ data the live stream: bytes in as typed, output out @pty
+ run write a command line; read: exit N, then its output @pty
+os/ the host filesystem @mounts
+src/ the editor's sources (only with -Dembed-sources=true) @mounts
+```)
Panes and columns are named by serials the editor gives: stable while they
live, never reused (so they can have gaps). Nothing is created by a listing, stat, walk or read: