function fish_prompt --description 'Write out the prompt' # Just calculate these once, to save a few cycles when displaying the prompt if not set -q __fish_prompt_hostname set -g __fish_prompt_hostname (hostname|cut -d . -f 1) end if not set -q __fish_prompt_normal set -g __fish_prompt_normal (set_color normal) end switch $USER case root if not set -q __fish_prompt_cwd if set -q fish_color_cwd_root set -g __fish_prompt_cwd (set_color $fish_color_cwd_root) else set -g __fish_prompt_cwd (set_color $fish_color_cwd) end end echo -n -s (set_color red) "$USER" (set_color normal) @ (set_color green) "$__fish_prompt_hostname" (set_color normal) ':[' "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" ']' echo echo -n '# ' case '*' if not set -q __fish_prompt_cwd set -g __fish_prompt_cwd (set_color $fish_color_cwd) end echo -n -s (set_color green) "$USER" (set_color normal) @ (set_color green) "$__fish_prompt_hostname" (set_color normal) ':[' "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" ']' echo echo -n '> ' end end