Skip to content

Instantly share code, notes, and snippets.

@anthonybrown
Created May 25, 2012 13:23
Show Gist options
  • Save anthonybrown/2788142 to your computer and use it in GitHub Desktop.
Save anthonybrown/2788142 to your computer and use it in GitHub Desktop.
zsh shell theme
function git_prompt_info() {
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
echo "$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_PREFIX$(current_branch)$ZSH_THEME_GIT_PROMPT_SUFFIX"
}
function get_pwd() {
print -D $PWD
}
function battery_charge() {
if [ -e ~/bin/batcharge.py ]
then
echo `python ~/bin/batcharge.py`
else
echo ''
fi
}
function put_spacing() {
local git=$(git_prompt_info)
if [ ${#git} != 0 ]; then
((git=${#git} - 1))
else
git=0
fi
local bat=$(battery_charge)
if [ ${#bat} != 0 ]; then
((bat = ${#bat} - 18))
else
bat=0
fi
local termwidth
(( termwidth = ${COLUMNS} - 3 - ${#HOST} - ${#$(get_pwd)} - ${bat} - ${git} ))
local spacing=""
for i in {1..$termwidth}; do
spacing="${spacing} "
done
echo $spacing
}
function precmd() {
print -rP '
$fg[cyan]%m: $fg[yellow]$(get_pwd)$(put_spacing)$(git_prompt_info)$ (%t) $(battery_charge)'
}
PROMPT='%{$reset_color%}☁ ❯❯❯ ✭ → ✭ ❯❯❯ '
ZSH_THEME_GIT_PROMPT_PREFIX="[git:"
ZSH_THEME_GIT_PROMPT_SUFFIX="]$reset_color"
ZSH_THEME_GIT_PROMPT_DIRTY="$fg[red]+"
ZSH_THEME_GIT_PROMPT_CLEAN="$fg[green]"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment