dotfiles/.config/fish/functions/fish_right_prompt.fish

56 lines
2.1 KiB
Fish

function fish_right_prompt -d "Écris le prompt de droite"
set -l last_pipestatus $pipestatus
set -l last_status $status
set -l normal (set_color normal)
# Couleur spéciale de l'hôte
set -l color_host $fish_color_host
# suivant l'hôte :
switch (prompt_hostname)
case baloo sam
set color_host ffd700
case lueur
set color_host e75b80
end
# Couleur du répertoire courant
set -l color_cwd $fish_color_cwd
# Affichage de root si nécessaire
set -l hostname_prefix ''
# SI ROOT: ajout de 'root@' en plus coloré
if contains -- $USER root toor
if set -q fish_color_cwd_root
set color_root $fish_color_cwd_root
end
set hostname_prefix 'root@'
end
# Branche distante (affichage seulement si différente de 'origin')
set -l upstream (git config --get branch.(git rev-parse --abbrev-ref @ 2>/dev/null).remote 2>/dev/null)
set -l remote_branch_prompt ''
if test -n "$upstream" && test "$upstream" != "origin"
set remote_branch_prompt "$upstream"
end
# Write pipestatus
set -l prompt_status (__fish_print_pipestatus " [" "]" "|" (set_color $fish_color_status) (set_color --bold $fish_color_status) $last_pipestatus) $normal ' '
# Configuration de Git
# afficher les couleurs
set -g __fish_git_prompt_showcolorhints true
# couleurs choisies
set -g __fish_git_prompt_color_branch brmagenta # couleurs des branches
set -g __fish_git_prompt_color_upstream green # couleur des différences de commit
set -g __fish_git_prompt_color_untrackedfiles red # couleur des changements détectés
# plus d'infos (staged, etc.)
set -g __fish_git_prompt_show_informative_status true
# couleur du nom du dépôt distant utilisé
set -l git_remote_name_color 5fafff
# Caractères utilisés pour l'affichage de git
set -g __fish_git_prompt_char_upstream_ahead '⇡'
set -g __fish_git_prompt_char_upstream_behind '⇣'
echo -n -s $prompt_status (set_color $color_cwd) (prompt_pwd) $normal (set_color $git_remote_name_color) $remote_branch_prompt $normal (fish_vcs_prompt) $normal ' ' (set_color $color_root) $hostname_prefix (set_color -o $color_host) (prompt_hostname) $normal
end