1
0
Fork 0
mirror of https://github.com/romkatv/powerlevel10k.git synced 2024-11-17 18:20:07 +00:00

Merge pull request #661 from derekbassett/fix/kubernetes-prompt

Fix/kubernetes prompt
This commit is contained in:
Ben Hilburn 2017-11-02 14:33:32 -04:00 committed by GitHub
commit 43ab3ebefd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 36 additions and 18 deletions

View file

@ -1410,20 +1410,20 @@ prompt_dir_writable() {
fi fi
} }
# Kubernetes Current Context # Kubernetes Current Context/Namespace
prompt_kubecontext() { prompt_kubecontext() {
local kubectl_version="$(kubectl version --client 2>/dev/null)" local kubectl_version="$(kubectl version --client 2>/dev/null)"
if [[ -n "$kubectl_version" ]]; then if [[ -n "$kubectl_version" ]]; then
# Get the current Kubernetes config context's namespaece
local k8s_namespace=$(kubectl config get-contexts --no-headers | grep '*' | awk '{print $5}')
# Get the current Kuberenetes context # Get the current Kuberenetes context
local k8s_context=$(kubectl config current-context) local cur_ctx=$(kubectl config view -o=jsonpath='{.current-context}')
cur_namespace="$(kubectl config view -o=jsonpath="{.contexts[?(@.name==\"${cur_ctx}\")].context.namespace}")"
if [[ -z "$k8s_namespace" ]]; then # If the namespace comes back empty set it default.
k8s_namespace="default" if [[ -z "${cur_namespace}" ]]; then
cur_namespace="default"
fi fi
"$1_prompt_segment" "$0" "$2" "magenta" "white" "$k8s_context/$k8s_namespace" "KUBERNETES_ICON"
"$1_prompt_segment" "$0" "$2" "magenta" "white" "$cur_ctx/$cur_namespace" "KUBERNETES_ICON"
fi fi
} }

View file

@ -18,11 +18,19 @@ function mockKubectl() {
;; ;;
'config') 'config')
case "$2" in case "$2" in
'current-context') 'view')
case "$3" in
'-o=jsonpath={.current-context}')
echo 'minikube' echo 'minikube'
;; ;;
'get-contexts') '-o=jsonpath={.contexts'*)
echo '* minikube minikube minikube ' echo ''
;;
*)
echo "Mock value missed"
exit 1
;;
esac
;; ;;
esac esac
;; ;;
@ -36,11 +44,21 @@ function mockKubectlOtherNamespace() {
;; ;;
'config') 'config')
case "$2" in case "$2" in
'current-context') 'view')
case "$3" in
# Get Current Context
'-o=jsonpath={.current-context}')
echo 'minikube' echo 'minikube'
;; ;;
'get-contexts') # Get current namespace
echo '* minikube minikube minikube kube-system' '-o=jsonpath={.contexts'*)
echo 'kube-system'
;;
*)
echo "Mock value missed"
exit 1
;;
esac
;; ;;
esac esac
;; ;;