Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/vhs.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: vhs
on:
push:
paths:
- vhs.tape
pull_request:
branches:
- trunk
jobs:
vhs:
runs-on: ubuntu-latest
Expand Down
76 changes: 69 additions & 7 deletions demo.tape
Original file line number Diff line number Diff line change
@@ -1,8 +1,62 @@
# VHS documentation
#
# Output:
# Output <path>.gif Create a GIF output at the given <path>
# Output <path>.mp4 Create an MP4 output at the given <path>
# Output <path>.webm Create a WebM output at the given <path>
#
# Require:
# Require <string> Ensure a program is on the $PATH to proceed
#
# Settings:
# Set FontSize <number> Set the font size of the terminal
# Set FontFamily <string> Set the font family of the terminal
# Set Height <number> Set the height of the terminal
# Set Width <number> Set the width of the terminal
# Set LetterSpacing <float> Set the font letter spacing (tracking)
# Set LineHeight <float> Set the font line height
# Set LoopOffset <float>% Set the starting frame offset for the GIF loop
# Set Theme <json|string> Set the theme of the terminal
# Set Padding <number> Set the padding of the terminal
# Set Framerate <number> Set the framerate of the recording
# Set PlaybackSpeed <float> Set the playback speed of the recording
# Set MarginFill <file|#000000> Set the file or color the margin will be filled with.
# Set Margin <number> Set the size of the margin. Has no effect if MarginFill isn't set.
# Set BorderRadius <number> Set terminal border radius, in pixels.
# Set WindowBar <string> Set window bar type. (one of: Rings, RingsRight, Colorful, ColorfulRight)
# Set WindowBarSize <number> Set window bar size, in pixels. Default is 40.
#
# Sleep:
# Sleep <time> Sleep for a set amount of <time> in seconds
#
# Type:
# Type[@<time>] "<characters>" Type <characters> into the terminal with a
# <time> delay between each character
#
# Keys:
# Backspace[@<time>] [number] Press the Backspace key
# Down[@<time>] [number] Press the Down key
# Enter[@<time>] [number] Press the Enter key
# Space[@<time>] [number] Press the Space key
# Tab[@<time>] [number] Press the Tab key
# Left[@<time>] [number] Press the Left Arrow key
# Right[@<time>] [number] Press the Right Arrow key
# Up[@<time>] [number] Press the Up Arrow key
# Down[@<time>] [number] Press the Down Arrow key
# PageUp[@<time>] [number] Press the Page Up key
# PageDown[@<time>] [number] Press the Page Down key
# Ctrl+<key> Press the Control key + <key> (e.g. Ctrl+C)
#
# Display:
# Hide Hide the subsequent commands from the output
# Show Show the subsequent commands in the output


# Where should we write the GIF?
Output demo.gif

# Set up a 1200x600 terminal with 46px font.
Set FontSize 32
Set FontSize 20
Set Width 1200
Set Height 600

Expand All @@ -12,41 +66,46 @@ Set BorderRadius 10

#setup# build tuido executable
Hide
Type "go build -o tuido ."
Type "go build -o td ."
Enter
Type "clear"
Enter
Show
#/setup#

Type "./tuido"
Type "./td"
Sleep 500ms
Enter


Sleep 2

Down 3
Down@0.5 3
Up 1
Down 5
Down@0.25 5
Tab@2s 2 # show done, back to todo

# filtering
Type "/"
Sleep 1s
Type "#feat"
Down
Up

# peek the feat todo
Enter@2s 2
type "/"
Type "/"

# clear the filter
Backspace 5
Escape

# show a pomodoro (currently broken! launching pomo also launches peek - does not capture 'enter')

Up 3
Type "p"
Sleep 350ms
type "0.1"
Type "0.1"
Enter

# clear todos via done / sleep / strike
Expand All @@ -56,3 +115,6 @@ Down
Type "s"
Down
Type "a"
Down
Type "z"
Down
2 changes: 2 additions & 0 deletions tui/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ func (t tui) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
// scroll down
}
}
return t, nil
}

if t.mode == pomo {
Expand Down Expand Up @@ -95,6 +96,7 @@ func (t tui) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
t.mode = navigation
}
}
return t, nil
}

if t.mode == edit {
Expand Down