Files
.dotfiles/vulporuza.zsh-theme
T
2026-09-10 17:20:30 +02:00

71 lines
2.3 KiB
Bash

# vulporuza.zsh-theme
typeset my_gray="$FG[240]"
# Optional widgets: zsh-git-prompt and virtualenv plugin may be missing.
if (( $+functions[git_super_status] )); then
_vulporuza_git='$(git_super_status)'
else
_vulporuza_git='$(git_prompt_info)'
fi
if (( $+functions[virtualenv_prompt_info] )); then
_vulporuza_venv='$(virtualenv_prompt_info)'
else
_vulporuza_venv=''
fi
# Primary prompt
PS1='$my_gray${(r:$COLUMNS::-:)}%{$reset_color%}
╭ %T %{$FG[208]%}%~%{$reset_color%}'$_vulporuza_git'
╰'$_vulporuza_venv' %(!.#.») '
PS2='%{$fg[red]%}\ %{$reset_color%}'
# Cleanup
unset _vulporuza_git _vulporuza_venv
# Right prompt
RPS1='%(?..%{$fg[red]%}%? ↵%{$reset_color%}) $FG[245]%n@%m%{$reset_color%}'
# Virtualenv (plugin virtualenv)
ZSH_THEME_VIRTUALENV_PREFIX=" %{$FG[075]%}("
ZSH_THEME_VIRTUALENV_SUFFIX=")%{$reset_color%}"
# Git theme
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$reset_color%}["
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}]"
if (( $+functions[git_super_status] )); then
ZSH_THEME_GIT_PROMPT_HASH_PREFIX=":"
ZSH_THEME_GIT_PROMPT_SEPARATOR="|"
ZSH_THEME_GIT_PROMPT_BRANCH="%{$fg_bold[magenta]%}"
ZSH_THEME_GIT_PROMPT_STAGED="%{$fg[red]%}%{●%1G%}"
ZSH_THEME_GIT_PROMPT_CONFLICTS="%{$fg[red]%}%{✖%1G%}"
ZSH_THEME_GIT_PROMPT_CHANGED="%{$fg[blue]%}%{✚%1G%}"
ZSH_THEME_GIT_PROMPT_BEHIND="%{↓%1G%}"
ZSH_THEME_GIT_PROMPT_AHEAD="%{↑%1G%}"
ZSH_THEME_GIT_PROMPT_STASHED="%{$fg_bold[blue]%}%{⚑%1G%}"
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%}%{…%1G%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg_bold[green]%}%{✔%1G%}"
ZSH_THEME_GIT_PROMPT_LOCAL=" L"
# The remote branch will be shown between these two
ZSH_THEME_GIT_PROMPT_UPSTREAM_FRONT=" {%{$fg[blue]%}"
ZSH_THEME_GIT_PROMPT_UPSTREAM_END="%{${reset_color}%}}"
ZSH_THEME_GIT_PROMPT_MERGING="%{$fg_bold[magenta]%}|MERGING%{${reset_color}%}"
ZSH_THEME_GIT_PROMPT_REBASE="%{$fg_bold[magenta]%}|REBASE%{${reset_color}%} "
ZSH_THEME_GIT_PROMPT_BISECT="%{$fg_bold[magenta]%}|BISECT%{${reset_color}%} "
else
ZSH_THEME_GIT_PROMPT_CLEAN="%{$reset_color%}|%{$FG[034]%}✔"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$reset_color%}|%{$FG[075]%}…"
fi
function theme_preexec {
print -nr $'\e]2;'"$USER@$HOST » $PWD » $1"$'\a'
}
add-zsh-hook preexec theme_preexec
function theme_precmd {
print -nr $'\e]2;'"$USER@$HOST » $PWD"$'\a'
}
add-zsh-hook precmd theme_precmd