36 lines
1020 B
Fish
36 lines
1020 B
Fish
|
function blue
|
||
|
set_color blue; printf $argv; set_color normal
|
||
|
end
|
||
|
function normal
|
||
|
set_color normal; printf $argv; set_color normal
|
||
|
end
|
||
|
|
||
|
function fish_cwd_prompt
|
||
|
set -l cwd (pwd)
|
||
|
test $cwd = $HOME && printf "~" || \
|
||
|
normal "%s/%s" (basename (dirname $cwd)) (basename $cwd)
|
||
|
end
|
||
|
|
||
|
function fish_prompt
|
||
|
if test -n "$GUIX_ENVIRONMENT"
|
||
|
normal "(env "; blue "%s" (basename $GUIX_ENVIRONMENT); normal ")"
|
||
|
git branch &>/dev/null
|
||
|
test $status -eq 0 && normal ":"
|
||
|
end
|
||
|
test $status && fish_git_prompt | sed 's/ //'
|
||
|
test $status || test -n "$GUIX_ENVIRONMENT" && printf '\n'
|
||
|
|
||
|
switch "$fish_key_bindings"
|
||
|
case fish_vi_key_bindings fish_hybrid_key_bindings
|
||
|
test $fish_bind_mode = 'default' && normal ':' || normal '+'
|
||
|
end
|
||
|
|
||
|
blue (whoami); normal ' at '; blue (prompt_hostname)
|
||
|
normal ' in '; blue (fish_cwd_prompt)
|
||
|
normal ' > '
|
||
|
end
|
||
|
|
||
|
function fish_default_mode_prompt -d "Display vi prompt mode"
|
||
|
# Do nothing
|
||
|
end
|