FISH: show updates and the current git branch in prompt

This commit is contained in:
Tom Willemsen 2011-12-21 12:18:26 +01:00
parent 79b2d1ba59
commit 2ca89c32f5

View file

@ -1,7 +1,36 @@
#! /usr/bin/fish #! /usr/bin/fish
function fish_prompt -d "Write out the prompt" function fish_prompt -d "Write out the prompt"
printf '(%s%s %s%s%s)> ' (set_color 'magenta') (hostname|cut -d . -f 1) (set_color $fish_color_cwd) (prompt_pwd) (set_color normal) set last_status $status
set current_directory (prompt_pwd)
set git_branch (git branch --contains HEAD 2>/dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/')
set pac_cnt (cat /var/cache/pacman/updates.cnt)
set aur_cnt (cat /var/cache/pacman/aur.cnt)
set cnormal (set_color white)
echo -n $cnormal
if test $pac_cnt -gt 0 -o $aur_cnt -gt 0
printf '%s%d%s/%s%d%s:' (set_color cyan) $pac_cnt $cnormal (set_color cyan) $aur_cnt $cnormal
end
printf '%s%s%s' (set_color magenta) (hostname|cut -d . -f 1) $cnormal
if test -n "$current_directory"
printf ':%s%s%s' (set_color $fish_color_cwd) $current_directory $cnormal
end
if test -n "$git_branch"
printf '@%s%s%s' (set_color yellow) $git_branch $cnormal
end
if test $last_status -eq 0
printf '%s%s' (set_color --bold green)
else
printf '%s%s' (set_color --bold red)
end
printf '>%s ' (set_color normal)
end end
function cower function cower