Skip to content

Commit

Permalink
Added vhs demo
Browse files Browse the repository at this point in the history
  • Loading branch information
egyptianbman committed Feb 5, 2023
1 parent 7e145e3 commit dfcd825
Show file tree
Hide file tree
Showing 4 changed files with 132 additions and 1 deletion.
34 changes: 34 additions & 0 deletions .github/workflows/gif.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Update demo gif

on:
push:
branches:
- main
paths:
- '*.tape'
workflow_dispatch:

jobs:
update-demo:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Install zsh
run: sudo apt-get install -qy zsh

- uses: charmbracelet/vhs-action@v1
with:
path: vhs.tape

- uses: stefanzweifel/git-auto-commit-action@v4
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
commit_message: 'chore: Update generated VHS GIF'
branch: main
commit_user_name: vhs-action 📼
commit_user_email: [email protected]
commit_author: vhs-action 📼 <[email protected]>
file_pattern: '*.gif'
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ name as your project -- thanks to the symlink that gwt handles for you. This
helps with things like docker-compose, allowing you to switch between
worktrees, all while tricking compose into thinking you're in one "project".

## Demo
![demo](https://github.com/egyptianbman/zsh-git-worktrees/raw/main/vhs.gif)

## Auto completion

This plugin automatically loads auto completion. Feel free to hit tab after
Expand Down
2 changes: 1 addition & 1 deletion functions/__gwt_symlink
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ cd "$repo"
git branch --set-upstream-to "origin/$branch" 2> /dev/null

if command -v tmux > /dev/null 2>&1; then
tmux set-environment -g PWD "$(dirname $PWD)/$repo"
tmux set-environment -g PWD "$(dirname $PWD)/$repo" > /dev/null 2>&1
fi

echo "Switched to \"$branch\" worktree"
Expand Down
94 changes: 94 additions & 0 deletions vhs.tape
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# 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
#
# 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
# 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

Output vhs.gif

Require echo
Require git
Require ls
Require mkdir

Set FontSize 20
Set Framerate 30
Set Padding 5
Set Width 1200
Set Height 600

Hide
Type "zsh" Enter
Type "y" Enter
Type "PS1='%F{240}%2~ > %F{reset}'" Enter
Type "source zsh-git-worktrees.zsh" Enter Sleep 500ms
Type "y" Enter
Type "cd /tmp" Enter
Ctrl+l

Show
Type "mkdir demo-project" Enter Sleep 2000ms
Type "cd demo-project" Enter Sleep 2000ms

Type "git clone https://github.com/ohmyzsh/ohmyzsh.git master" Enter Sleep 3000ms
Type "echo master > .default-branch" Enter Sleep 2000ms
Type "cd master" Enter Sleep 2000ms

Type "gwt" Enter Sleep 2000ms

Type "gwt new" Enter Sleep 3000ms
Type "ls -alhF ../" Enter Sleep 8000ms

Type "gwt master" Enter Sleep 3000ms
Type "ls -alhF ../" Enter Sleep 8000ms

Type "gwt another" Enter Sleep 3000ms
Type "ls -alhF ../" Enter Sleep 8000ms

Type "gwt" Enter Sleep 5000ms

Type "gwt rm new" Enter Sleep 3000ms
Type "ls -alhF ../" Enter Sleep 8000ms

Type "gwt rm another" Enter Sleep 3000ms
Type "ls -alhF ../" Enter Sleep 8000ms

0 comments on commit dfcd825

Please sign in to comment.