Files
Josh McKinney bae3eb0b10 feat: add viewport scroll commands to tapes (#707)
Add ScrollUp and ScrollDown as first-class tape commands that scroll
the terminal viewport by rows, with optional @time and repeat count.
Wire them through token keywords, parser command types, and command
execution using term.scrollLines(+/-1).

Update docs and fixtures to include the new commands in README, manual,
demo comments, and all.tape. Expand lexer/parser coverage and command
count assertions for the new command surface.

Fixes #404

Co-authored-by: Ayman Bagabas <ayman.bagabas@gmail.com>
2026-03-10 02:21:01 +03:00
..
2022-10-28 15:18:11 -04:00
2022-10-29 19:41:52 -04:00
2023-10-31 13:41:07 -04:00
2024-04-24 15:36:06 -04:00
2023-08-23 15:04:21 -04:00
2022-10-29 19:41:52 -04:00
2023-06-21 11:26:49 -04:00
2025-06-17 20:49:26 +02:00
2022-10-29 19:41:52 -04:00
2025-06-17 20:49:26 +02:00
2022-12-20 15:34:39 -05:00
2025-01-15 15:05:12 -03:00
2022-10-29 19:41:52 -04:00
2024-01-24 14:44:37 -05:00
2023-08-23 15:04:21 -04:00
2022-10-24 18:19:54 -04:00
2022-10-24 21:41:24 -04:00
2023-08-23 15:04:21 -04:00
2023-08-23 15:04:21 -04:00
2022-10-25 09:42:42 -04:00
2022-10-25 09:42:42 -04:00

Examples

Gum

Example of recording a demo of Gum with VHS.

Gum File

gum file demo with VHS
Output file.gif

Type "gum file ./src"
Sleep 1s
Enter
Sleep 2s
Down@500ms 4
Up@500ms 1
Sleep 1s
Enter
Sleep 1s
Down@500ms 4
Sleep 1s
Up@500ms 2
Sleep 2s

Gum Pager

gum pager demo with VHS
Output pager.gif

Set Padding 20
Set FontSize 16
Set Height 600

Type "gum pager < ~/src/gum/README.md --border normal"
Sleep 1s
Enter
Sleep 2s
Down@25ms 40
Sleep 1s
Up@25ms 30
Sleep 1s
Down@25ms 20
Sleep 3s

Gum Table

gum table demo with VHS
Output table.gif

Type "gum table < superhero.csv -w 2,12,5,6,6,8,4,20 --height 10"
Enter
Sleep 1s
Down@200ms 10
Sleep 1s
Down@200ms 10
Sleep 1s
Up@200ms 10
Sleep 1s
Enter
Sleep 3s

GitHub CLI

Examples recorded with VHS for the GitHub CLI (gh):

Issues

Simple gh issue demo
Output gh-issue.gif

Type "gh issue list"
Sleep 500ms
Enter 1
Sleep 4s

Ctrl+L
Sleep 500ms

Type "gh issue view 19"
Sleep 500ms
Enter

Sleep 5s

Pull Requests

Simple gh pr demo
Output gh-pr.gif

Type "gh pr list --state all"
Sleep 500ms
Enter

Sleep 5s

Bubble Tea

Examples recorded with VHS for Bubble Tea.

jqp

Example of recording a demo of jqp with VHS.

Simple jqp demo with VHS

Glow

Example of recording a demo of Glow with VHS.

Glow Simple

Simple glow demo with VHS
Output glow-simple.ascii
Output glow-simple.gif

Set Width 1000
Set Height 1000

Type "glow"
Enter
Sleep 1s
Enter
Sleep 1s
Escape
Sleep 1s
Type "q"
Sleep 1s

Glow

Glow demo with VHS
Output vhs-glow.gif
Output glow.ascii

Set Width 1600
Set Height 1040

Sleep 1s

Type "glow"

Sleep 100ms

Enter

Sleep 1s

Hide
Tab
Type "/artichoke"
Enter
Down 2
Show

Sleep 0.5s

Down 20

Hide
Escape
Type "l"
Down 5
Show

Sleep 1s
Up@400ms 5

Hide
Type "/ulysses"
Enter
Show

Sleep 0.5s

Down@200ms 20

Hide
Escape
Type "/"
Show

Sleep 0.5s

Type@500ms "todo"
Sleep 1

Hide
Escape
Type "/ulysses"
Enter
Show

Sleep 0.5s

Type@750ms "????"

Hide
Escape
Type "/artichoke"
Enter
Type "m"
Ctrl+A
Right 4
Show

Sleep 1s
Type@250ms "Tasty "
Sleep 1s

Hide
Escape
Down 5
Type "m"
Ctrl+U
Show

Sleep 1s
Type@150ms "Your new internet thing"
Sleep 3s

Hide
Ctrl+C
Show