# name: ifij (forked from RobbyRussel) # description: prompt containing minimal relevant information with host, path, # and git status. function _status_color # Returns a color for successful or failed previous command if test $__prompt_last_status -eq 0 echo (set_color -o green) else echo (set_color -o red) end end function _hostname # Returns hostname if on remote host and not using tmux # Check if we're on a non-local host via ssh if set -q SSH_CLIENT; or set -q SSH_TTY # Check if we're using tmux, since tmux status line displays the host if not set -q TMUX echo (hostname -s)" " end end end function _prompt_char # Gives a colored prompt char for user or root echo -n (_status_color) if [ (whoami) = 'root' ] echo -n '#' else echo -n '$' end echo -n (set_color normal) end function fish_prompt # Build full left side prompt # Collect last status for coloring prompt set -g __prompt_last_status $status # Configure git prompt set -g __fish_git_prompt_showcolorhints 1 set -g __fish_git_prompt_showdirtystate 1 set -g __fish_git_prompt_showstashstate 1 set -g __fish_git_prompt_showuntrackedfiles 1 echo -n -s $arrow (_hostname) (prompt_pwd) (__fish_git_prompt) (_prompt_char) ' ' end