zsh: kubectl context
This commit is contained in:
parent
584034e053
commit
468f8905cd
1 changed files with 18 additions and 1 deletions
|
@ -3,8 +3,9 @@ printf -v PROMPT2 $prompt_fmtn '%_'
|
|||
printf -v PROMPT3 $prompt_fmtn '?#'
|
||||
printf -v PROMPT4 $prompt_fmtn '+%N:%i'
|
||||
|
||||
prompt_fifo=~/.zsh_gitstatus_$$
|
||||
prompt_fifo=$HOME/.zsh_gitstatus_$$
|
||||
prompt_blimit=50
|
||||
kube_config=$HOME/.kube/config
|
||||
typeset -A prompt_symbols=(
|
||||
sep_a $'\ue0b0'
|
||||
ellipsis $'\u2026'
|
||||
|
@ -13,6 +14,7 @@ typeset -A prompt_symbols=(
|
|||
git_staged $'\u2713'
|
||||
git_untracked '!'
|
||||
git_unmerged '*'
|
||||
helm $'\u2388'
|
||||
bang $'\u276f'
|
||||
)
|
||||
|
||||
|
@ -26,6 +28,7 @@ typeset -A prompt_colors=(
|
|||
git_staged '6'
|
||||
git_untracked '1'
|
||||
git_unmerged '5'
|
||||
kube_context '2'
|
||||
brackets '8'
|
||||
bang '8'
|
||||
)
|
||||
|
@ -40,6 +43,16 @@ precmd.window_title() {
|
|||
printf '\033]0;%s:%s\007' ${HOST%%.*} ${dir##*/}
|
||||
}
|
||||
|
||||
precmd.has_kube() {
|
||||
[[ -r $kube_config ]]
|
||||
}
|
||||
|
||||
precmd.kube_context() {
|
||||
typeset kube_context=$(awk '($1 ~ "^current") {print $2}' $kube_config)
|
||||
precmd.prompt.add $prompt_symbols[helm]
|
||||
precmd.prompt.add $kube_context $prompt_colors[kube_context]
|
||||
}
|
||||
|
||||
precmd.is_git_repo() {
|
||||
typeset prompt_git_dir
|
||||
prompt_git_dir=$(git rev-parse --git-dir 2>/dev/null) || return 1
|
||||
|
@ -115,6 +128,10 @@ precmd.prompt() {
|
|||
|
||||
precmd.prompt.add %~ $prompt_colors[cwd]
|
||||
|
||||
if precmd.has_kube; then
|
||||
precmd.kube_context
|
||||
fi
|
||||
|
||||
[[ $1 == pre_git ]]\
|
||||
&& precmd.prompt.pre_git
|
||||
[[ $1 == git ]]\
|
||||
|
|
Loading…
Reference in a new issue