host theme directly (thanks, MIT license)

This commit is contained in:
Haak Saxberg 2020-02-12 23:42:23 -08:00
parent 65ce9b90d7
commit 413de3d11b
2 changed files with 60 additions and 10 deletions

View file

@ -0,0 +1,58 @@
# ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____
# ||t |||y |||p |||e |||w |||r |||i |||t |||t |||e |||n ||
# ||__|||__|||__|||__|||__|||__|||__|||__|||__|||__|||__||
# |/__\|/__\|/__\|/__\|/__\|/__\|/__\|/__\|/__\|/__\|/__\|
#
# A minimal, informative zsh prompt theme
#
# Adapted from https://github.com/reobin/typewritten/commit/0eebac711e98ee759942ed82f8c20e92912e2cc7
# git status variables
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$reset_color%}%{$fg[magenta]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX=""
ZSH_THEME_GIT_PROMPT_DIRTY=""
ZSH_THEME_GIT_PROMPT_CLEAN=""
ZSH_THEME_GIT_PROMPT_ADDED="%{$fg_bold[cyan]%} +"
ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg_bold[yellow]%} !"
ZSH_THEME_GIT_PROMPT_DELETED="%{$fg_bold[red]%} —"
ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg_bold[green]%} »"
ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg_bold[white]%} #"
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg_bold[blue]%} ?"
ZSH_THEME_GIT_PROMPT_STASHED="%{$fg_bold[yellow]%} $"
ZSH_THEME_GIT_PROMPT_BEHIND="%{$fg_bold[blue]%} •|"
ZSH_THEME_GIT_PROMPT_AHEAD="%{$fg_bold[blue]%} |•"
# git status display
local git_info='$(git_prompt_info)$(git_prompt_status)%{$reset_color%}'
# current user and hostname
local user_host='%{$fg[yellow]%}%n%{$reset_color%}@%{$fg[yellow]%}%m %{$reset_color%}'
# default: blue, if return code other than 0: red
local prompt='%(?,%{$fg[blue]%}> ,%{$fg[red]%}> )'
# current directory display
local directory_path='%{$fg[magenta]%}%~'
# last command return code
local return_code='%(?,,%{$fg[red]%} RC=%?%{$reset_color%})'
# left prompt definition (multiline)
PROMPT="${user_host} ${directory_path}
${prompt}"
# right prompt definition
RPROMPT="${git_info}"
RPROMPT+="${return_code}"
# prompt cursor fix when exiting vim
local cursor="\e[3 q"
if [ "$TYPEWRITTEN_CURSOR" = "block" ]; then
cursor="\e[1 q"
elif [ "$TYPEWRITTEN_CURSOR" = "beam" ]; then
cursor="\e[5 q"
fi
_fix_cursor() {
echo -ne "${cursor}"
}
precmd_functions+=(_fix_cursor)