# vulporuza.zsh-theme # # Palette: set VULPORUZA_PALETTE in ~/.zshrc before Oh My Zsh. # Definitions: vulporuza-palettes.zsh (same directory). typeset _vulporuza_dir="${${(%):-%x}:A:h}" if ! source "${_vulporuza_dir}/vulporuza-palettes.zsh"; then print -u2 "vulporuza: missing ${_vulporuza_dir}/vulporuza-palettes.zsh" unset _vulporuza_dir return fi unset _vulporuza_dir _vulporuza_apply_palette # 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='${_vulporuza[dash]}${(r:$COLUMNS::-:)}%{$reset_color%} ╭ %T ${_vulporuza[path]}%~%{$reset_color%}'$_vulporuza_git' ╰'$_vulporuza_venv' %(!.#.») ' PS2='${_vulporuza[error]}\ %{$reset_color%}' unset _vulporuza_git _vulporuza_venv # Right prompt RPS1='%(?..${_vulporuza[error]}%? ↵%{$reset_color%}) ${_vulporuza[host]}%n@%m%{$reset_color%}' # Virtualenv (plugin virtualenv) ZSH_THEME_VIRTUALENV_PREFIX=" ${_vulporuza[venv]}(" ZSH_THEME_VIRTUALENV_SUFFIX=")%{$reset_color%}" # Git: shared wrapper 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="${_vulporuza[branch]}" ZSH_THEME_GIT_PROMPT_STAGED="${_vulporuza[staged]}%{●%1G%}" ZSH_THEME_GIT_PROMPT_CONFLICTS="${_vulporuza[conflicts]}%{✖%1G%}" ZSH_THEME_GIT_PROMPT_CHANGED="${_vulporuza[changed]}%{✚%1G%}" ZSH_THEME_GIT_PROMPT_BEHIND="%{↓%1G%}" ZSH_THEME_GIT_PROMPT_AHEAD="%{↑%1G%}" ZSH_THEME_GIT_PROMPT_STASHED="${_vulporuza[stashed]}%{⚑%1G%}" ZSH_THEME_GIT_PROMPT_UNTRACKED="${_vulporuza[untracked]}%{…%1G%}" ZSH_THEME_GIT_PROMPT_CLEAN="${_vulporuza[clean]}%{✔%1G%}" ZSH_THEME_GIT_PROMPT_LOCAL=" L" ZSH_THEME_GIT_PROMPT_UPSTREAM_FRONT=" {${_vulporuza[upstream]}" ZSH_THEME_GIT_PROMPT_UPSTREAM_END="%{${reset_color}%}}" ZSH_THEME_GIT_PROMPT_MERGING="${_vulporuza[state]}|MERGING%{${reset_color}%}" ZSH_THEME_GIT_PROMPT_REBASE="${_vulporuza[state]}|REBASE%{${reset_color}%} " ZSH_THEME_GIT_PROMPT_BISECT="${_vulporuza[state]}|BISECT%{${reset_color}%} " else ZSH_THEME_GIT_PROMPT_CLEAN="%{$reset_color%}|${_vulporuza[clean]}✔" ZSH_THEME_GIT_PROMPT_DIRTY="%{$reset_color%}|${_vulporuza[dirty]}…" 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