FISH: show updates and the current git branch in prompt
This commit is contained in:
parent
79b2d1ba59
commit
2ca89c32f5
1 changed files with 30 additions and 1 deletions
|
@ -1,7 +1,36 @@
|
|||
#! /usr/bin/fish
|
||||
|
||||
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
|
||||
|
||||
function cower
|
||||
|
|
Loading…
Reference in a new issue