Color the default prompt host if running via SSH

This is part of our (well, my) quest to spice up the default prompt.

In this case we color the host if $SSH_TTY is set, which is easy to
detect and helps draw attention to the host.

See #6398.
See #6375.
This commit is contained in:
Fabian Homborg 2019-12-30 14:03:36 +01:00
parent 0afc5258cf
commit 4a47e212f8
4 changed files with 18 additions and 3 deletions

View File

@ -58,6 +58,7 @@ function __fish_config_interactive -d "Initializations that should be performed
__init_uvar fish_color_autosuggestion 555 brblack
__init_uvar fish_color_user brgreen
__init_uvar fish_color_host normal
__init_uvar fish_color_host_remote yellow
__init_uvar fish_color_valid_path --underline
__init_uvar fish_color_status red

View File

@ -16,8 +16,14 @@ function fish_prompt --description 'Write out the prompt'
set suffix '#'
end
# If we're running via SSH, change the host color.
set -l color_host $fish_color_host
if set -q SSH_TTY
set color_host $fish_color_host_remote
end
# Write pipestatus
set -l prompt_status (__fish_print_pipestatus " [" "]" "|" (set_color $fish_color_status) (set_color --bold $fish_color_status) $last_pipestatus)
echo -n -s (set_color $fish_color_user) "$USER" $normal @ (set_color $fish_color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal $prompt_status $suffix " "
echo -n -s (set_color $fish_color_user) "$USER" $normal @ (set_color $color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal $prompt_status $suffix " "
end

View File

@ -1,4 +1,4 @@
# name: Classic + Vcs
# name: Classic + Vcs (the default)
# author: Lily Ballard
function fish_prompt --description 'Write out the prompt'
@ -17,8 +17,14 @@ function fish_prompt --description 'Write out the prompt'
set suffix '#'
end
# If we're running via SSH, change the host color.
set -l color_host $fish_color_host
if set -q SSH_TTY
set color_host $fish_color_host_remote
end
# Write pipestatus
set -l prompt_status (__fish_print_pipestatus " [" "]" "|" (set_color $fish_color_status) (set_color --bold $fish_color_status) $last_pipestatus)
echo -n -s (set_color $fish_color_user) "$USER" $normal @ (set_color $fish_color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal $prompt_status $suffix " "
echo -n -s (set_color $fish_color_user) "$USER" $normal @ (set_color $color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal $prompt_status $suffix " "
end

View File

@ -1096,6 +1096,8 @@ The following variables are available to change the highlighting colors in fish:
- ``fish_color_host``, the color used to print the current host system in some of fish default prompts
- ``fish_color_host_remote``, the color used to print the current host system in some of fish default prompts, if fish is running remotely (via ssh or similar)
- ``fish_color_cancel``, the color for the '^C' indicator on a canceled command
Additionally, the following variables are available to change the highlighting in the completion pager: