shoestrap/assets/default/fish/functions/fish_prompt.fish

49 lines
1.3 KiB
Fish

# 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