aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvenyii <codesguard@cersei.de>2019-07-05 02:10:26 +0300
committervenyii <codesguard@cersei.de>2019-07-05 20:26:00 +0300
commita9d99c9cab69bd52edd3584ea426d8dacd6e8929 (patch)
treea1eba68b0b7c7e32114b4851b9a9944f659bbbf2
parent214d12b27581f29ad1d8807e57bf8818160ef61b (diff)
Add ability to provide a cluster function in kubecontext segment
This makes it possible to customize the displayed cluster name, e.g. `gke_project-name-1337_europe-west1-c_production` -> `production`
-rw-r--r--EXTENDED_CONFIGURATION.md13
-rwxr-xr-xinternal/p10k.zsh3
2 files changed, 16 insertions, 0 deletions
diff --git a/EXTENDED_CONFIGURATION.md b/EXTENDED_CONFIGURATION.md
index 048f3bf2..ced06cd2 100644
--- a/EXTENDED_CONFIGURATION.md
+++ b/EXTENDED_CONFIGURATION.md
@@ -43,6 +43,19 @@ another
You can pick up a fix for the latter from
[a fork of zsh](https://github.com/romkatv/zsh/tree/gentle-reset-prompt).
+`POWERLEVEL9K_KUBECONTEXT_CONTEXT_FUNCTION (FUNCTION) [default=""]`
+
+Add your own function to modify the k8s context name, e.g. remove superfluous information:
+
+```bash
+# Input: gke_project-name-1337_europe-west1-c_production/ns
+# Output: production
+function k8s_context_short() {
+ echo "$1" | sed -E 's/.*-[a-z]_(.*)\/.*/\1/'
+}
+POWERLEVEL9K_KUBECONTEXT_CONTEXT_FUNCTION="k8s_context_short"
+```
+
When using gitstatus, there is an extra state called `LOADING` that is used by `vcs` prompt
segment when it's waiting for git status in the background. You can define styling for this
state the same way as for the other states -- `CLEAN`, `UNTRACKED` and `MODIFIED`. You can
diff --git a/internal/p10k.zsh b/internal/p10k.zsh
index 825fd772..a1cbe3e0 100755
--- a/internal/p10k.zsh
+++ b/internal/p10k.zsh
@@ -2126,6 +2126,9 @@ prompt_kubecontext() {
fi
done
fi
+ if [[ -n $POWERLEVEL9K_KUBECONTEXT_CONTEXT_FUNCTION ]]; then
+ ctx=$($POWERLEVEL9K_KUBECONTEXT_CONTEXT_FUNCTION $ctx)
+ fi
_p9k_cache_set "$ctx" "$suf"
fi