Files
dotfiles/config/fish/functions/fish_prompt.fish
2021-10-18 20:30:03 +02:00

53 lines
1.3 KiB
Fish

function _git_branch_name
echo (git symbolic-ref HEAD 2> /dev/null | sed -e 's|^refs/heads/||')
end
function _is_git_dirty
echo (git status -s --ignore-submodules=dirty 2> /dev/null)
end
function _rb_prompt
echo (rbenv version | awk '{print $1}')
end
function _kb_context
kubectl config current-context 2> /dev/null
if [ (test $status -eq 0) ]
echo (kubectl config current-context | awk '{print $1}')
end
end
function fish_prompt
set -l cyan (set_color -o cyan)
set -l magenta (set_color -o magenta)
set -l yellow (set_color -o yellow)
set -l red (set_color -o red)
set -l blue (set_color -o blue)
set -l normal (set_color normal)
set -l arrow "$magenta$normal"
# set -l arrow "$red↪ $normal"
set -l cwd $cyan(pwd|sed "s=$HOME=~=")
if [ (_kb_context) ]
set -l kb_context $yellow(_kb_context)
set kube_context "|$kb_context"
end
set -l ruby_version $magenta(_rb_prompt)
set -l ruby_version "[$ruby_version$normal$kube_context$normal] in "
if [ (_git_branch_name) ]
set -l git_branch $red(_git_branch_name)
set git_info "$normal on $blue$git_branch$blue"
if [ (_is_git_dirty) ]
set -l dirty "$yellow"
set git_info "$git_info$dirty"
end
end
echo -s $ruby_version $cwd $git_info $normal \n $arrow " "
end