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 PROMPT3 $prompt_fmtn '?#'
|
||||||
printf -v PROMPT4 $prompt_fmtn '+%N:%i'
|
printf -v PROMPT4 $prompt_fmtn '+%N:%i'
|
||||||
|
|
||||||
prompt_fifo=~/.zsh_gitstatus_$$
|
prompt_fifo=$HOME/.zsh_gitstatus_$$
|
||||||
prompt_blimit=50
|
prompt_blimit=50
|
||||||
|
kube_config=$HOME/.kube/config
|
||||||
typeset -A prompt_symbols=(
|
typeset -A prompt_symbols=(
|
||||||
sep_a $'\ue0b0'
|
sep_a $'\ue0b0'
|
||||||
ellipsis $'\u2026'
|
ellipsis $'\u2026'
|
||||||
|
@ -13,6 +14,7 @@ typeset -A prompt_symbols=(
|
||||||
git_staged $'\u2713'
|
git_staged $'\u2713'
|
||||||
git_untracked '!'
|
git_untracked '!'
|
||||||
git_unmerged '*'
|
git_unmerged '*'
|
||||||
|
helm $'\u2388'
|
||||||
bang $'\u276f'
|
bang $'\u276f'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -26,6 +28,7 @@ typeset -A prompt_colors=(
|
||||||
git_staged '6'
|
git_staged '6'
|
||||||
git_untracked '1'
|
git_untracked '1'
|
||||||
git_unmerged '5'
|
git_unmerged '5'
|
||||||
|
kube_context '2'
|
||||||
brackets '8'
|
brackets '8'
|
||||||
bang '8'
|
bang '8'
|
||||||
)
|
)
|
||||||
|
@ -40,6 +43,16 @@ precmd.window_title() {
|
||||||
printf '\033]0;%s:%s\007' ${HOST%%.*} ${dir##*/}
|
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() {
|
precmd.is_git_repo() {
|
||||||
typeset prompt_git_dir
|
typeset prompt_git_dir
|
||||||
prompt_git_dir=$(git rev-parse --git-dir 2>/dev/null) || return 1
|
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]
|
precmd.prompt.add %~ $prompt_colors[cwd]
|
||||||
|
|
||||||
|
if precmd.has_kube; then
|
||||||
|
precmd.kube_context
|
||||||
|
fi
|
||||||
|
|
||||||
[[ $1 == pre_git ]]\
|
[[ $1 == pre_git ]]\
|
||||||
&& precmd.prompt.pre_git
|
&& precmd.prompt.pre_git
|
||||||
[[ $1 == git ]]\
|
[[ $1 == git ]]\
|
||||||
|
|
Loading…
Reference in a new issue