Last active
April 7, 2020 04:48
-
-
Save lionello/d8132e7366e31b8a8f90ed94931545e8 to your computer and use it in GitHub Desktop.
My FISH prompt (avoids shortened path names, unless too long or in subshells)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# name: Classic + Vcs (custom) | |
# author: Lily Ballard & Lionello Lunesu | |
function fish_prompt --description 'Write out the prompt' | |
set -l last_pipestatus $pipestatus | |
set -l normal (set_color normal) | |
# Color the prompt differently when we're root | |
set -l color_cwd $fish_color_cwd | |
set -l prefix | |
set -l suffix '\n$ ' | |
if contains -- $USER root toor | |
if set -q fish_color_cwd_root | |
set color_cwd $fish_color_cwd_root | |
end | |
set suffix '\n# ' | |
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) | |
# Shorten the prompt, but only when it's too long (or in subshell) | |
set -g fish_prompt_pwd_dir_length (expr $SHLVL - 1) | |
set -l longprompt $USER (prompt_hostname) (prompt_pwd) (__fish_vcs_prompt) $prompt_status | |
if test (expr length "$longprompt") -gt $COLUMNS | |
set -g fish_prompt_pwd_dir_length 1 | |
end | |
echo | |
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 | |
builtin printf $suffix | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment