Prompt: Hide host if not on ssh

Updates for fish/zsh/bash
This commit is contained in:
ViViDboarder 2020-03-06 12:42:40 -08:00
parent a49c22116c
commit 51f843716b
3 changed files with 49 additions and 29 deletions

View File

@ -45,7 +45,14 @@ function ps_force_target {
} }
function ps_host_name { function ps_host_name {
[ -z "$TMUX" ] || return && echo '\h ' # Returns hostname if on remote host and not using tmux
# Check if we're on a non-local host via ssh
if [ -n "$SSH_CLIENT" ] && [ -n "$SSH_TTY" ]; then
# Check if we're using tmux, since tmux status line displays the host
if [ -z "$TMUX" ]; then
echo '\h '
fi
fi
} }
function ps_virtual_env { function ps_virtual_env {

View File

@ -83,7 +83,14 @@ fi
# Set prompt to include some useful information # Set prompt to include some useful information
function ps_host_name { function ps_host_name {
[ -z "$TMUX" ] || return && echo "$(hostname) " # Returns hostname if on remote host and not using tmux
# Check if we're on a non-local host via ssh
if [ -n "$SSH_CLIENT" ] && [ -n "$SSH_TTY" ]; then
# Check if we're using tmux, since tmux status line displays the host
if [ -z "$TMUX" ]; then
echo "$(hostname) "
fi
fi
} }
function ps_git_branch { function ps_git_branch {

View File

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