|
| 1 | +# VHS Tape DSL Reference |
| 2 | + |
| 3 | +## Output |
| 4 | + |
| 5 | +- `Output <path>.gif` - Create a GIF output at the given path |
| 6 | + |
| 7 | +## Require |
| 8 | + |
| 9 | +- `Require <string>` - Ensure a program is on the $PATH to proceed |
| 10 | + |
| 11 | +## Settings |
| 12 | + |
| 13 | +- `Set FontSize <number>` - Set the font size of the terminal |
| 14 | +- `Set FontFamily <string>` - Set the font family of the terminal |
| 15 | +- `Set Height <number>` - Set the height of the terminal |
| 16 | +- `Set Width <number>` - Set the width of the terminal |
| 17 | +- `Set LetterSpacing <float>` - Set the font letter spacing (tracking) |
| 18 | +- `Set LineHeight <float>` - Set the font line height |
| 19 | +- `Set LoopOffset <float>%` - Set the starting frame offset for the GIF loop |
| 20 | +- `Set Theme <json|string>` - Set the theme of the terminal |
| 21 | +- `Set Padding <number>` - Set the padding of the terminal |
| 22 | +- `Set Framerate <number>` - Set the framerate of the recording |
| 23 | +- `Set PlaybackSpeed <float>` - Set the playback speed of the recording |
| 24 | +- `Set MarginFill <file|#000000>` - Set the file or color the margin will be filled with |
| 25 | +- `Set Margin <number>` - Set the size of the margin (no effect without MarginFill) |
| 26 | +- `Set BorderRadius <number>` - Set terminal border radius, in pixels |
| 27 | +- `Set WindowBar <string>` - Set window bar type (Rings, RingsRight, Colorful, ColorfulRight) |
| 28 | +- `Set WindowBarSize <number>` - Set window bar size, in pixels (default: 40) |
| 29 | +- `Set TypingSpeed <time>` - Set the typing speed of the terminal (default: 50ms) |
| 30 | + |
| 31 | +## Sleep |
| 32 | + |
| 33 | +- `Sleep <time>` - Sleep for a set amount of time in seconds |
| 34 | + |
| 35 | +## Type |
| 36 | + |
| 37 | +- `Type "<characters>"` - Type characters into the terminal |
| 38 | +- `Type@<time> "<characters>"` - Type characters with a custom delay between each character |
| 39 | + |
| 40 | +## Keys |
| 41 | + |
| 42 | +All keys accept an optional `@<time>` delay and an optional repeat `[number]`. |
| 43 | + |
| 44 | +- `Escape` - Press the Escape key |
| 45 | +- `Backspace` - Press the Backspace key |
| 46 | +- `Delete` - Press the Delete key |
| 47 | +- `Insert` - Press the Insert key |
| 48 | +- `Enter` - Press the Enter key |
| 49 | +- `Space` - Press the Space key |
| 50 | +- `Tab` - Press the Tab key |
| 51 | +- `Up` / `Down` / `Left` / `Right` - Press arrow keys |
| 52 | +- `PageUp` / `PageDown` - Press Page Up/Down keys |
| 53 | +- `Ctrl+<key>` - Press Control + key (e.g. `Ctrl+C`) |
| 54 | + |
| 55 | +## Display |
| 56 | + |
| 57 | +- `Hide` - Hide subsequent commands from the output |
| 58 | +- `Show` - Show subsequent commands in the output |
0 commit comments