2015-08-26 21:28:16 +00:00
|
|
|
# name: ifij (forked from RobbyRussel)
|
2020-03-06 20:42:40 +00:00
|
|
|
# description: prompt containing minimal relevant information with host, path,
|
|
|
|
# and git status.
|
2015-06-03 20:53:20 +00:00
|
|
|
|
2015-08-26 21:28:16 +00:00
|
|
|
function _status_color
|
2020-03-06 20:42:40 +00:00
|
|
|
# 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
|
2015-08-26 21:28:16 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
function _hostname
|
2020-03-06 20:42:40 +00:00
|
|
|
# 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
|
2015-08-26 21:28:16 +00:00
|
|
|
end
|
|
|
|
|
2015-06-03 20:53:20 +00:00
|
|
|
function _prompt_char
|
2020-03-06 20:42:40 +00:00
|
|
|
# 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)
|
2015-06-03 20:53:20 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
function fish_prompt
|
2020-03-06 20:42:40 +00:00
|
|
|
# Build full left side prompt
|
2015-08-26 21:28:16 +00:00
|
|
|
|
2020-03-06 20:42:40 +00:00
|
|
|
# Collect last status for coloring prompt
|
|
|
|
set -g __prompt_last_status $status
|
2015-06-03 20:53:20 +00:00
|
|
|
|
2020-03-06 20:42:40 +00:00
|
|
|
# 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) ' '
|
2015-06-03 20:53:20 +00:00
|
|
|
end
|