JO5NBAQPJX3HKWBE6GQ5LOK4SYO2K5ZIGPT6HRRJB7N5AUQ75UHAC
# Name: Wry
# Description: The prompt I prefer.
ZSH_PIJUL_PROMPT_ENABLE_SECONDARY=1
ZSH_PIJUL_PROMPT_SHOW_REMOTE=1
ZSH_THEME_PIJUL_PROMPT_PREFIX="%{$fg_bold[yellow]%}.. "
ZSH_THEME_PIJUL_PROMPT_SUFFIX=""
ZSH_THEME_PIJUL_PROMPT_SEPARATOR=" "
ZSH_THEME_PIJUL_PROMPT_CHANNEL="%{$fg_bold[yellow]%}"
ZSH_THEME_PIJUL_PROMPT_REMOTE_SYMBOL=""
ZSH_THEME_PIJUL_PROMPT_REMOTE_NO_TRACKING="%{$fg_bold[yellow]%}⌃"
ZSH_THEME_PIJUL_PROMPT_REMOTE_PREFIX="%{$fg_bold[yellow]%} > "
ZSH_THEME_PIJUL_PROMPT_REMOTE_SUFFIX=""
ZSH_THEME_PIJUL_PROMPT_CHANGED="%{$fg[magenta]%}∆"
ZSH_THEME_PIJUL_PROMPT_ADDED="%{$fg[green]%}+"
ZSH_THEME_PIJUL_PROMPT_REMOVED="%{$fg[red]%}−"
ZSH_THEME_PIJUL_PROMPT_RESURRECTED="%{$fg[grey]%}✝"
ZSH_THEME_PIJUL_PROMPT_SOLVED="%{$fg[green]%}⛙"
ZSH_THEME_PIJUL_PROMPT_UNSOLVED="%{$fg[red]%}×"
ZSH_THEME_PIJUL_PROMPT_UNTRACKED="%{$fg[yellow]%}…"
ZSH_THEME_PIJUL_PROMPT_CLEAN="%{$fg_bold[green]%}✔"
ZSH_THEME_PIJUL_PROMPT_SECONDARY_PREFIX=" "
ZSH_THEME_PIJUL_PROMPT_SECONDARY_SUFFIX=""
ZSH_THEME_PIJUL_PROMPT_TAGS_SEPARATOR=" "
ZSH_THEME_PIJUL_PROMPT_TAGS_PREFIX=""
ZSH_THEME_PIJUL_PROMPT_TAGS_SUFFIX=""
ZSH_THEME_PIJUL_PROMPT_TAG="#"
PROMPT=$'\n'
[ -n "$SSH_CLIENT" ] && [ -n "$SSH_TTY" ] \
&& PROMPT+='%B%F{blue}@%m%f%b: ' # Hostname, if in SSH session
PROMPT+='%B%F{blue}%~%f%b ' # Path
PROMPT+='$(pijul_prompt)' # Pijul status
PROMPT+='$(pijul_prompt_secondary)' # Pijul status secondary info
PROMPT+=$'\n' # Newline
# Last command status indicator
RPROMPT='%(?.%(!.%F{yellow}●%f.%F{green}●%f).%F{red}●%f)'
# Name: Woefe's prompt (wprompt)
# Description:
# The wprompt example is similar to the multi-line and Pure examples, but with optional
# [vi-mode](https://github.com/woefe/vi-mode.zsh) and the secondary prompt enabled.
#
# - Depends on [Font Awesome](https://fontawesome.com/)
# - Optionally depends on [vi-mode](https://github.com/woefe/vi-mode.zsh)
# - Source this example after fzf and after loading
# [vi-mode](https://github.com/woefe/vi-mode.zsh)
#
# If you want to try other examples again after sourcing this example, you might have to restart
# your shell, because this prompt will always print a newline between prompts.
ZSH_PIJUL_PROMPT_FORCE_BLANK=1
ZSH_THEME_PIJUL_PROMPT_PREFIX=" · "
ZSH_THEME_PIJUL_PROMPT_SUFFIX=""
ZSH_THEME_PIJUL_PROMPT_SEPARATOR=" · "
ZSH_THEME_PIJUL_PROMPT_CHANNEL="⎇ %{$fg_bold[cyan]%}"
ZSH_THEME_PIJUL_PROMPT_REMOTE_SYMBOL="%{$fg_bold[green]%} "
ZSH_THEME_PIJUL_PROMPT_REMOTE_NO_TRACKING="%{$fg_bold[red]%}!"
ZSH_THEME_PIJUL_PROMPT_REMOTE_PREFIX="%{$fg[red]%}(%{$fg[yellow]%}"
ZSH_THEME_PIJUL_PROMPT_REMOTE_SUFFIX="%{$fg[red]%})"
ZSH_THEME_PIJUL_PROMPT_CHANGED="%{$fg[blue]%}∆"
ZSH_THEME_PIJUL_PROMPT_ADDED="%{$fg[green]%}+"
ZSH_THEME_PIJUL_PROMPT_REMOVED="%{$fg[red]%}−"
ZSH_THEME_PIJUL_PROMPT_RESURRECTED="✝"
ZSH_THEME_PIJUL_PROMPT_SOLVED="%{$fg[magenta]%}⛙"
ZSH_THEME_PIJUL_PROMPT_UNSOLVED="%{$fg[yellow]%}×"
ZSH_THEME_PIJUL_PROMPT_UNTRACKED="…"
ZSH_THEME_PIJUL_PROMPT_CLEAN="%{$fg_bold[green]%} "
ZSH_THEME_PIJUL_PROMPT_TAGS_PREFIX=" · "
RPROMPT=''
PROMPT=$'┏╸'
[ -n "$SSH_CLIENT" ] \
&& [ -n "$SSH_TTY" ] \
&& PROMPT+='%B%F{blue}@%m%f%b · ' # Hostname, if in SSH session
PROMPT+='%B%30<..<%~%b%<<' # Path truncated to 30 characters
PROMPT+='%(12V. · %F{244} %12v%f.)' # Python virtualenv name
PROMPT+='$(pijul_prompt)' # Pijul status
PROMPT+='$(pijul_prompt_secondary)' # Pijul status secondary info
PROMPT+=$'\n┗╸' # Newline
_WPROMPT_END='%(?.%(!.%F{white}❯%F{yellow}❯%F{red}.%F{blue}❯%F{cyan}❯%F{green})❯%f.%F{red}❯❯❯%f) '
# Vi mode indicator, if github.com/woefe/vi-mode.zsh is loaded
if (( $+functions[vi_mode_status] )); then
VI_INSERT_MODE_INDICATOR=$_WPROMPT_END
VI_NORMAL_MODE_INDICATOR=${_WPROMPT_END//❯/•}
PROMPT+='$(vi_mode_status)'
else
PROMPT+=$_WPROMPT_END
fi
setup() {
[[ -n $_PROMPT_INITIALIZED ]] && return
_PROMPT_INITIALIZED=1
# Prevent Python virtualenv from modifying the prompt
export VIRTUAL_ENV_DISABLE_PROMPT=1
# Set $psvar[12] to the current Python virtualenv
function _prompt_update_venv() {
psvar[12]=
if [[ -n $VIRTUAL_ENV ]] && [[ -n $VIRTUAL_ENV_DISABLE_PROMPT ]]; then
psvar[12]="${VIRTUAL_ENV:t}"
fi
}
add-zsh-hook precmd _prompt_update_venv
# Draw a newline between every prompt
function _prompt_newline(){
if [[ -z "$_PROMPT_NEWLINE" ]]; then
_PROMPT_NEWLINE=1
elif [[ -n "$_PROMPT_NEWLINE" ]]; then
echo
fi
}
add-zsh-hook precmd _prompt_newline
# To avoid glitching with fzf's alt+c binding we override the fzf-redraw-prompt widget.
# The widget by default reruns all precmd hooks, which prints the newline again.
# We therefore run all precmd hooks except _prompt_newline.
function fzf-redraw-prompt() {
local precmd
for precmd in ${precmd_functions:#_prompt_newline}; do
$precmd
done
zle reset-prompt
}
}
setup
# Name: Right
# Description: Status on the right.
ZSH_GIT_PROMPT_SHOW_REMOTE="symbol"
ZSH_PIJUL_PROMPT_FORCE_BLANK=1
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg_bold[default]%}≺ "
ZSH_THEME_GIT_PROMPT_SUFFIX=""
ZSH_THEME_GIT_PROMPT_SEPARATOR=" "
ZSH_THEME_GIT_PROMPT_CHANNEL="%{$fg_no_bold[grey]%}"
ZSH_THEME_GIT_PROMPT_REMOTE_SYMBOL="%{$fg_bold[yellow]%}⟳ "
ZSH_THEME_GIT_PROMPT_REMOTE_PREFIX="%{$fg[red]%}(%{$fg[yellow]%}"
ZSH_THEME_GIT_PROMPT_REMOTE_SUFFIX="%{$fg[red]%})"
ZSH_THEME_PIJUL_PROMPT_CHANGED="%{$fg[blue]%}∆"
ZSH_THEME_PIJUL_PROMPT_ADDED="%{$fg[green]%}+"
ZSH_THEME_PIJUL_PROMPT_REMOVED="%{$fg[red]%}−"
ZSH_THEME_PIJUL_PROMPT_RESURRECTED="✝"
ZSH_THEME_PIJUL_PROMPT_SOLVED="%{$fg[magenta]%}⛙"
ZSH_THEME_PIJUL_PROMPT_UNSOLVED="%{$fg[yellow]%}×"
ZSH_THEME_PIJUL_PROMPT_UNTRACKED="…"
ZSH_THEME_PIJUL_PROMPT_CLEAN="%{$fg_bold[green]%}✔"
PROMPT='%B%~%b %F{blue}≻≻≻%f '
RPROMPT='$(pijul_prompt)'
# Name: [Pure](https://github.com/sindresorhus/pure) clone
# Description:
# This clone of the Pure prompt has support for Python virtualenvs, but none of the timing
# features or a vi mode. If you are using [fzf](https://github.com/junegunn/fzf), source the
# example after sourcing fzf's keybindings.
#
# If you want to try other examples again after sourcing the Pure example, you might have to
# restart your shell, because this prompt will always print a newline between prompts.
ZSH_PIJUL_PROMPT_FORCE_BLANK=1
ZSH_THEME_PIJUL_PROMPT_PREFIX=""
ZSH_THEME_PIJUL_PROMPT_SUFFIX=" "
ZSH_THEME_PIJUL_PROMPT_SEPARATOR=" "
ZSH_THEME_PIJUL_PROMPT_CHANNEL="%{$fg_no_bold[grey]%}"
ZSH_THEME_PIJUL_PROMPT_REMOTE_SYMBOL="%{$fg_bold[yellow]%}⟳ "
ZSH_THEME_PIJUL_PROMPT_REMOTE_PREFIX="%{$fg[red]%}(%{$fg[yellow]%}"
ZSH_THEME_PIJUL_PROMPT_REMOTE_SUFFIX="%{$fg[red]%})"
ZSH_THEME_PIJUL_PROMPT_CHANGED="%{$fg[blue]%}∆"
ZSH_THEME_PIJUL_PROMPT_ADDED="%{$fg[green]%}+"
ZSH_THEME_PIJUL_PROMPT_REMOVED="%{$fg[red]%}−"
ZSH_THEME_PIJUL_PROMPT_RESURRECTED="✝"
ZSH_THEME_PIJUL_PROMPT_SOLVED="%{$fg[magenta]%}⛙"
ZSH_THEME_PIJUL_PROMPT_UNSOLVED="%{$fg[yellow]%}×"
ZSH_THEME_PIJUL_PROMPT_UNTRACKED="…"
ZSH_THEME_PIJUL_PROMPT_CLEAN="%{$fg_bold[green]%}✔"
# In the second line of the prompt $psvar[12] is read
PROMPT=$'%F{blue}%~%f %F{242}$(pijul_prompt)%f
%(12V.%F{242}%12v%f .)%(?.%F{magenta}.%F{red})❯%f '
RPROMPT=''
setup() {
[[ -n $_PROMPT_INITIALIZED ]] && return
_PROMPT_INITIALIZED=1
# Prevent Python virtualenv from modifying the prompt
export VIRTUAL_ENV_DISABLE_PROMPT=1
# Set $psvar[12] to the current Python virtualenv
function _prompt_update_venv() {
psvar[12]=
if [[ -n $VIRTUAL_ENV ]] && [[ -n $VIRTUAL_ENV_DISABLE_PROMPT ]]; then
psvar[12]="${VIRTUAL_ENV:t}"
fi
}
add-zsh-hook precmd _prompt_update_venv
# Draw a newline between every prompt
function _prompt_newline(){
if [[ -z "$_PROMPT_NEWLINE" ]]; then
_PROMPT_NEWLINE=1
elif [[ -n "$_PROMPT_NEWLINE" ]]; then
echo
fi
}
add-zsh-hook precmd _prompt_newline
# To avoid glitching with fzf's alt+c binding we override the fzf-redraw-prompt widget.
# The widget by default reruns all precmd hooks, which prints the newline again.
# We therefore run all precmd hooks except _prompt_newline.
function fzf-redraw-prompt() {
local precmd
for precmd in ${precmd_functions:#_prompt_newline}; do
$precmd
done
zle reset-prompt
}
}
setup
#!/usr/bin/env bash
tmpdir=$(mktemp -d -p /tmp pijul-prompt.zsh.XXXX)
projectdir=$(dirname "$(dirname "$(realpath "$0")")")
trap 'rm -rf -- "$tmpdir"' EXIT
mkdir -p "$tmpdir/workspace"
pijul clone $projectdir --path "examples/hello-world" "$tmpdir/workspace/hello_world"
cd "$tmpdir/workspace/hello_world" || exit
export HOME=$tmpdir
pijul identity new --no-link --no-prompt --display-name "Bob" --email "bob@example.com" --username "bob" "pijul-prompt.zsh"
echo "Hi!" >> README.md
touch removed.txt
pijul add removed.txt
pijul record -a -m "Add removed.txt"
pijul remove removed.txt
touch added.txt
pijul add added.txt
if [[ $1 = "--readme" ]]; then
for example in "$projectdir"/examples/*.zsh; do
heading=$(sed -n '/^# Name: /p' "$example")
heading=${heading##\# Name: }
description=$(sed -En '/^# Description:/,/(^# [^ ]|^$)/p' "$example")
description=${description##\# Description:}
description=$(echo "$description" | sed -E 's/^#? *//')
echo "### $heading"
echo "$description"
echo
echo "Load this example: \`source ${example##"$projectdir"/}\`"
echo
echo '```'
zsh -f -c "export ZSH_PIJUL_PROMPT_NO_ASYNC=1; source \"$projectdir/pijul-prompt.zsh\"; source \"$example\"; print -P \"\$PROMPT \$RPROMPT\"" 2> /dev/null | sed 's/\x1B\[[0-9;]*[JKmsu]//g'
echo '```'
echo
echo
done
exit
fi
for example in "$projectdir"/examples/*.zsh; do
echo "${example##"$projectdir"/}:"
zsh -f -c "export ZSH_PIJUL_PROMPT_NO_ASYNC=1; source \"$projectdir/pijul-prompt.zsh\"; source \"$example\"; print -P \"\$PROMPT \$RPROMPT\"" 2> /dev/null
echo
echo
done
# Name: Multi-line
# Description: A prompt that extends across multiple lines.
ZSH_PIJUL_PROMPT_SHOW_REMOTE="full"
ZSH_PIJUL_PROMPT_FORCE_BLANK=1
ZSH_THEME_PIJUL_PROMPT_PREFIX="%B · %b"
ZSH_THEME_PIJUL_PROMPT_SUFFIX="›"
ZSH_THEME_PIJUL_PROMPT_SEPARATOR=" ‹"
ZSH_THEME_PIJUL_PROMPT_CHANNEL="⎇ %{$fg_bold[cyan]%}"
ZSH_THEME_PIJUL_PROMPT_REMOTE_SYMBOL="%{$fg_bold[yellow]%}⟳ "
ZSH_THEME_PIJUL_PROMPT_REMOTE_PREFIX="%{$fg[yellow]%} ⤳ "
ZSH_THEME_PIJUL_PROMPT_REMOTE_SUFFIX=""
ZSH_THEME_PIJUL_PROMPT_CHANGED="%{$fg[blue]%}∆"
ZSH_THEME_PIJUL_PROMPT_ADDED="%{$fg[green]%}+"
ZSH_THEME_PIJUL_PROMPT_REMOVED="%{$fg[red]%}−"
ZSH_THEME_PIJUL_PROMPT_RESURRECTED="✝"
ZSH_THEME_PIJUL_PROMPT_SOLVED="%{$fg[magenta]%}⛙"
ZSH_THEME_PIJUL_PROMPT_UNSOLVED="%{$fg[yellow]%}×"
ZSH_THEME_PIJUL_PROMPT_UNTRACKED="…"
ZSH_THEME_PIJUL_PROMPT_CLEAN="%{$fg_bold[green]%}✔"
PROMPT=$'┏╸%(?..%F{red}%?%f · )%B%~%b$(pijul_prompt)\n┗╸%F{blue}❯%f%F{cyan}❯%f%F{green}❯%f '
RPROMPT=''
Hello World!
# Name: Default
# Description: The default configuration.
ZSH_PIJUL_PROMPT_SHOW_REMOTE=""
ZSH_PIJUL_PROMPT_SHOW_STASH=1
ZSH_PIJUL_PROMPT_FORCE_BLANK=""
ZSH_THEME_PIJUL_PROMPT_PREFIX="["
ZSH_THEME_PIJUL_PROMPT_SUFFIX="] "
ZSH_THEME_PIJUL_PROMPT_SEPARATOR="|"
ZSH_THEME_PIJUL_PROMPT_CHANNEL="%{$fg_bold[magenta]%}"
ZSH_THEME_PIJUL_PROMPT_REMOTE_SYMBOL="%{$fg_bold[yellow]%}⟳ "
ZSH_THEME_PIJUL_PROMPT_REMOTE_NO_TRACKING=""
ZSH_THEME_PIJUL_PROMPT_REMOTE_PREFIX="%{$fg[red]%}(%{$fg[yellow]%}"
ZSH_THEME_PIJUL_PROMPT_REMOTE_SUFFIX="%{$fg[red]%})"
ZSH_THEME_PIJUL_PROMPT_CHANGED="%{$fg[blue]%}∆"
ZSH_THEME_PIJUL_PROMPT_ADDED="%{$fg[green]%}+"
ZSH_THEME_PIJUL_PROMPT_REMOVED="%{$fg[red]%}−"
ZSH_THEME_PIJUL_PROMPT_RESURRECTED="✝"
ZSH_THEME_PIJUL_PROMPT_SOLVED="%{$fg[magenta]%}⛙"
ZSH_THEME_PIJUL_PROMPT_UNSOLVED="%{$fg[yellow]%}×"
ZSH_THEME_PIJUL_PROMPT_UNTRACKED="…"
ZSH_THEME_PIJUL_PROMPT_CLEAN="%{$fg_bold[green]%}✔"
PROMPT='%B%40<..<%~ %b$(pijul_prompt)'
PROMPT+='%(?.%(!.%F{white}❯%F{yellow}❯%F{red}.%F{blue}❯%F{cyan}❯%F{green})❯.%F{red}❯❯❯)%f '
RPROMPT=''
# Name: Compact
ZSH_THEME_PIJUL_PROMPT_PREFIX=" "
ZSH_THEME_PIJUL_PROMPT_SUFFIX=""
ZSH_THEME_PIJUL_PROMPT_SEPARATOR="|"
ZSH_THEME_PIJUL_PROMPT_CHANNEL="%{$fg_bold[magenta]%}"
ZSH_THEME_PIJUL_PROMPT_REMOTE_SYMBOL="%{$fg_bold[yellow]%}⟳ "
ZSH_THEME_PIJUL_PROMPT_REMOTE_PREFIX="%{$fg[red]%}(%{$fg[yellow]%}"
ZSH_THEME_PIJUL_PROMPT_REMOTE_SUFFIX="%{$fg[red]%})"
ZSH_THEME_PIJUL_PROMPT_CHANGED="%{$fg[blue]%}∆"
ZSH_THEME_PIJUL_PROMPT_ADDED="%{$fg[green]%}+"
ZSH_THEME_PIJUL_PROMPT_REMOVED="%{$fg[red]%}−"
ZSH_THEME_PIJUL_PROMPT_RESURRECTED="✝"
ZSH_THEME_PIJUL_PROMPT_SOLVED="%{$fg[magenta]%}⛙"
ZSH_THEME_PIJUL_PROMPT_UNSOLVED="%{$fg[yellow]%}×"
ZSH_THEME_PIJUL_PROMPT_UNTRACKED="…"
ZSH_THEME_PIJUL_PROMPT_CLEAN="%{$fg_bold[green]%}✔"
PROMPT='%B%40<..<%~%b$(pijul_prompt)'
PROMPT+='%(?.%(!.%F{yellow}.%F{green}).%F{red})❯%f '
RPROMPT=''
# Name: [bash-git-prompt](https://github.com/magicmonty/bash-git-prompt) clone
# Description:
# This example mimics the [bash-git-prompt](https://github.com/magicmonty/bash-git-prompt)
# informative git prompt for bash.
ZSH_PIJUL_PROMPT_SHOW_REMOTE="symbol"
ZSH_PIJUL_PROMPT_FORCE_BLANK=1
ZSH_THEME_PIJUL_PROMPT_PREFIX="%B %b["
ZSH_THEME_PIJUL_PROMPT_SUFFIX="]"
ZSH_THEME_PIJUL_PROMPT_SEPARATOR="|"
ZSH_THEME_PIJUL_PROMPT_CHANNEL="%{$fg[magenta]%}"
ZSH_THEME_PIJUL_PROMPT_REMOTE_SYMBOL=" %{$fg_bold[yellow]%}⟳ "
ZSH_THEME_PIJUL_PROMPT_REMOTE_PREFIX="%{$fg[yellow]%} ⤳ "
ZSH_THEME_PIJUL_PROMPT_REMOTE_SUFFIX=""
ZSH_THEME_PIJUL_PROMPT_CHANGED="%{$fg[blue]%}∆"
ZSH_THEME_PIJUL_PROMPT_ADDED="%{$fg[green]%}+"
ZSH_THEME_PIJUL_PROMPT_REMOVED="%{$fg[red]%}−"
ZSH_THEME_PIJUL_PROMPT_RESURRECTED="✝"
ZSH_THEME_PIJUL_PROMPT_SOLVED="%{$fg[magenta]%}⛙"
ZSH_THEME_PIJUL_PROMPT_UNSOLVED="%{$fg[yellow]%}×"
ZSH_THEME_PIJUL_PROMPT_UNTRACKED="…"
ZSH_THEME_PIJUL_PROMPT_CLEAN="%{$fg_bold[green]%}✔"
PROMPT=$'%(?..%F{red}%?%f · )%F{yellow}%B%~%b%F{white}$(pijul_prompt)\n%D{%H:%M} $ '
RPROMPT=''
# Name: Ascii
# Description: A prompt using only ASCII characters.
ZSH_THEME_PIJUL_PROMPT_PREFIX=" "
ZSH_THEME_PIJUL_PROMPT_SUFFIX=""
ZSH_THEME_PIJUL_PROMPT_SEPARATOR=" "
ZSH_THEME_PIJUL_PROMPT_CHANNEL="%{$fg_bold[magenta]%}"
ZSH_THEME_PIJUL_PROMPT_REMOTE_SYMBOL="%{$fg_bold[yellow]%}^"
ZSH_THEME_PIJUL_PROMPT_REMOTE_PREFIX="%{$fg[red]%}(%{$fg[yellow]%}"
ZSH_THEME_PIJUL_PROMPT_REMOTE_SUFFIX="%{$fg[red]%})"
ZSH_THEME_PIJUL_PROMPT_CHANGED="%{$fg[blue]%}o"
ZSH_THEME_PIJUL_PROMPT_ADDED="%{$fg[green]%}+"
ZSH_THEME_PIJUL_PROMPT_REMOVED="%{$fg[red]%}-"
ZSH_THEME_PIJUL_PROMPT_SOLVED="%{$fg[magenta]%}&"
ZSH_THEME_PIJUL_PROMPT_UNSOLVED="%{$fg[yellow]%}?"
ZSH_THEME_PIJUL_PROMPT_UNTRACKED=".."
ZSH_THEME_PIJUL_PROMPT_CLEAN="%{$fg_bold[green]%}>"
PROMPT='%B%40<..<%~%b$(pijul_prompt)'
PROMPT+='%(?.%(!.%F{yellow}.%F{green})>%f.%F{red}>%f) '
RPROMPT=''
# git-prompt.zsh examples
You can test the [configurations shown below](#examples) by sourcing the `.zsh` files from the examples directory.
Once you have found a configuration that you like, source it in your `.zshrc`.
## Preview all examples directly in Zsh
```
pijul clone https://nest.pijul.com/ryanbooker/pijul-prompt.zsh
cd pijul-prompt.zsh
examples/print_examples.sh
```
## Examples
<!-- truncate here before generating examples -->
### Ascii
A prompt using only ASCII characters.
Load this example: `source examples/ascii.zsh`
```
..pace/hello_world main +1-1..3>
```
### [bash-git-prompt](https://github.com/magicmonty/bash-git-prompt) clone
This example mimics the [bash-git-prompt](https://github.com/magicmonty/bash-git-prompt)
informative git prompt for bash.
Load this example: `source examples/bashgitprompt.zsh`
```
~/workspace/hello_world [main ⟳ |+1−1…3]
20:46 $
```
### Compact
Load this example: `source examples/compact.zsh`
```
..space/hello_world main|+1−1…3❯
```
### Default
Same as shown in [screenshot.svg](../screenshot.svg).
Load this example: `source examples/default.zsh`
```
../hello_world [main|+1−1…3] ❯❯❯
```
### Multi-line
Load this example: `source examples/multiline.zsh`
```
┏╸~/workspace/hello_world · ⎇ main ⤳ /pijul-prompt.zsh ‹+1−1…3›
┗╸❯❯❯
```
### [Pure](https://github.com/sindresorhus/pure) clone
This clone of the Pure prompt has support for Python virtualenvs, but none of the timing
features or a vi mode. If you are using [fzf](https://github.com/junegunn/fzf), source the
example after sourcing fzf's keybindings.
If you want to try other examples again after sourcing the Pure example, you might have to
restart your shell, because this prompt will always print a newline between prompts.
Load this example: `source examples/pure.zsh`
```
~/workspace/hello_world main +1−1…3
❯
```
### Git status on the right
Load this example: `source examples/rprompt.zsh`
```
~/workspace/hello_world ≻≻≻ [main|+1−1…3]
```
### Woefe's prompt (wprompt)
The wprompt example is similar to the multi-line and Pure examples, but with optional
[vi-mode](https://github.com/woefe/vi-mode.zsh) and the secondary prompt enabled.
- Depends on [Font Awesome](https://fontawesome.com/)
- Optionally depends on [vi-mode](https://github.com/woefe/vi-mode.zsh)
- Source this example after fzf and after loading
[vi-mode](https://github.com/woefe/vi-mode.zsh)
If you want to try other examples again after sourcing this example, you might have to restart
your shell, because this prompt will always print a newline between prompts.
Load this example: `source examples/wprompt.zsh`
```
┏╸~/workspace/hello_world · ⎇ main! · +1−1…3
┗╸❯❯❯
```
### Wry
Load this example: `source examples/wry.zsh`
```
~/workspace/hello_world .. main > /pijul-prompt.zsh +1−1…3 ●```