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…
	
	Add table
		Add a link
		
	
		Reference in a new issue