mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-20 06:13:47 +08:00
2cea5b8eb1
This prints a description of the "host". Currently that's `(chroot:debianchroot) $USER@$hostname` with the chroot part when needed. This also switches the default and terlar prompts to use it, the other prompts have slightly different coloring or logic here.
33 lines
1.3 KiB
Fish
33 lines
1.3 KiB
Fish
# name: Default
|
|
# author: Lily Ballard
|
|
|
|
function fish_prompt --description 'Write out the prompt'
|
|
set -l last_pipestatus $pipestatus
|
|
set -lx __fish_last_status $status # Export for __fish_print_pipestatus.
|
|
set -l normal (set_color normal)
|
|
|
|
# Color the prompt differently when we're root
|
|
set -l color_cwd $fish_color_cwd
|
|
set -l suffix '>'
|
|
if functions -q fish_is_root_user; and fish_is_root_user
|
|
if set -q fish_color_cwd_root
|
|
set color_cwd $fish_color_cwd_root
|
|
end
|
|
set suffix '#'
|
|
end
|
|
|
|
# Write pipestatus
|
|
# If the status was carried over (e.g. after `set`), don't bold it.
|
|
set -l bold_flag --bold
|
|
set -q __fish_prompt_status_generation; or set -g __fish_prompt_status_generation $status_generation
|
|
if test $__fish_prompt_status_generation = $status_generation
|
|
set bold_flag
|
|
end
|
|
set __fish_prompt_status_generation $status_generation
|
|
set -l status_color (set_color $fish_color_status)
|
|
set -l statusb_color (set_color $bold_flag $fish_color_status)
|
|
set -l prompt_status (__fish_print_pipestatus "[" "]" "|" "$status_color" "$statusb_color" $last_pipestatus)
|
|
|
|
echo -n -s (prompt_login)' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " "
|
|
end
|