summaryrefslogtreecommitdiff
path: root/test/snapshots/tagnav.snap
blob: 2f5906bba80fdd7c1f15021cac7ed78b2663415a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
# A tag's normal mode is the body's: h/l/w move in the tag's own text, and
# moving between panes is the window keys' job from a tag as from a body --
# there are no tag-only hops. `:` is the one key a tag and a body do not
# share: from the body it focuses the pane's own tag, from the tag it hands the
# keyboard back to the body. Each tag remembers its cursor; the first time
# there is nothing to remember and it starts on Save.
#
# Evidence is the `cursor=` header (the ACTIVE pane's cursor, which while a tag
# is focused sits on THAT pane's tag row) plus each pane's layout box, which
# carries its BODY mode as one character: ` ` normal, `^` insert, `$` tty. The
# tag has a mode of its own, so the box never changes while a tag is used.
file w.txt alpha\nbeta\ngamma
start 31 100 w.txt
wait 8000 Newcol Joincol
wait 8000 w.txt
stable 700 20000
# A FILE boots alone, so the launch shell is opened here: Alt-n opens it and
# focuses it, Alt-c puts it in a column of its own on the right, SPC w h comes
# back to the file.
key a-n
key a-c
stable 700 15000
key space w h
stable 400 5000
# Alt-n: a shell below the file, so the left column has two rows and every
# direction has somewhere to go
key a-n
stable 700 15000
key space w k
stable 400 5000
snap start
# `:` -> the file's OWN tagline, normal mode, on Save
key :
stable 400 5000
snap colon
# w selects in the tag the way it selects in a body
key w
stable 400 5000
snap word
# l is a motion in the tag, not a hop to the next pane
key l l
stable 400 5000
snap in-tag
# the window keys move between panes from a tag as from a body: the tag lets
# go and the neighbour's BODY takes the keyboard
key c-w l
stable 400 5000
snap right
# `:` there -> that pane's own tag, on its Save the first time
key :
stable 400 5000
snap right-tag
# back left, and `:` finds the file's tag cursor where l left it
key c-w h
stable 400 5000
key :
stable 400 5000
snap left-tag
# `:` in the tag's normal mode: back to the body
key :
stable 400 5000
snap back-to-body
# A TERMINAL KEEPS ITS TTY MODE. Put the launch shell in raw tty mode (Ctrl-b),
# click its tagline and come back: its box reads `$` throughout, because the
# tag's mode is the tag's own.
key c-w l
stable 400 5000
key c-b
stable 700 15000
snap tty-on
press left @Mode 3
release left @Mode 3
stable 400 5000
snap tty-tag
key esc
settle 100
key :
stable 400 5000
snap tty-restored
# The column and workspace tags are Texts in the same layout, with the same
# keys: Up from a pane with nothing above it reaches its column's tag, in
# normal mode, then the workspace's; Down comes back the same way.
key c-b
stable 700 15000
key c-w h
stable 400 5000
key c-w k
stable 400 5000
snap column-tag
key w
stable 400 5000
snap column-word
key c-w k
stable 400 5000
snap workspace-tag
# `$` is the last cell; five long-word steps back land on `Dump`, and the
# execute key runs it and gives the keyboard back to the body FIRST -- `Exit`
# lives up here too, so a builtin that frees the session must never return
# into a focused header. Dump grows a `Restore <path>` word, which is also the
# case where the line gets longer than the column you were parked on.
key g l
stable 400 5000
snap topbar-dollar
key B B B B B
stable 400 5000
snap topbar-dump-word
key tab
stable 700 15000
snap topbar-exec
# THE DELETION HAZARD, from the bar itself: `Restore` frees every pane and
# swaps the core out from under the caller. Walk back up onto the word the
# Dump just grew -- B twice off the tail, because the LONG word motions are the
# ones that step over a path in one go -- and run it.
key c-w k
key c-w k
stable 400 5000
key g l B B
stable 400 5000
snap topbar-restore-word
key tab
stable 900 15000
snap topbar-restored