53 lines
1.3 KiB
Plaintext
53 lines
1.3 KiB
Plaintext
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
|
|
|