function fish_prompt set -l last_status $status set -l user set -l dir set -l git set -l stat set user (set_color magenta) '' (set_color black)(set_color -b magenta) ' ' (whoami) ' ' (set_color normal)(set_color magenta) '' (set_color normal) set dir (set_color black)(set_color -b blue) '' (set_color -b blue) '  '(prompt_pwd) ' ' (set_color normal)(set_color blue) '' (set_color normal) if test -n (fish_git_prompt | string collect --allow-empty) set -g __fish_git_prompt_showdirtystate 1 set git (set_color black)(set_color -b cyan) '' (set_color -b cyan) '  '(fish_git_prompt) ' ' (set_color normal)(set_color cyan) '' (set_color normal) else set git "" end if test $last_status -ne 0 set stat (set_color black)(set_color -b red) '' (set_color -b red) "  " (set_color normal)(set_color red) '' (set_color normal) else set stat (set_color black)(set_color -b green) '' (set_color -b green) "  " (set_color normal)(set_color green) '' (set_color normal) end string join '' $user $dir $git $stat ' ' end