Compare commits

...

5 Commits

Author SHA1 Message Date
Jérôme GARCIA 1c46fa7ee7
Merge 9346c2418c into cae2e45193 2025-01-10 14:36:25 +01:00
Thomas cae2e45193
fix(rust): call `rustc` through `rustup run` (#12901) 2025-01-10 14:17:49 +01:00
Carlo Sala 276e540eed
fix(cli): ensure `ksharrays` is unset
Closes #12900
2025-01-10 14:11:33 +01:00
sybernatus 9346c2418c
feat: add conditional formatting to agnoster
add conditional formatting for kubernetes to agnoster theme
2023-02-21 17:51:08 +01:00
alchazov 1fd41a3f8c Add KUBERNETES to prompt 2021-08-04 16:34:19 +05:00
3 changed files with 51 additions and 1 deletions

View File

@ -1,6 +1,7 @@
#!/usr/bin/env zsh
function omz {
setopt localoptions noksharrays
[[ $# -gt 0 ]] || {
_omz::help
return 1

View File

@ -22,5 +22,5 @@ fi
rustup completions zsh >| "$ZSH_CACHE_DIR/completions/_rustup" &|
cat >| "$ZSH_CACHE_DIR/completions/_cargo" <<'EOF'
#compdef cargo
source "$(rustc +${${(z)$(rustup default)}[1]} --print sysroot)"/share/zsh/site-functions/_cargo
source "$(rustup run ${${(z)$(rustup default)}[1]} rustc --print sysroot)"/share/zsh/site-functions/_cargo
EOF

View File

@ -254,6 +254,54 @@ prompt_aws() {
esac
}
#KUBERNETES icon:
# - display KUBERNETES icon if context set
# - displays red icon on black if context name contains 'prod'
# - displays green icon on black if context name contains 'dev' or 'stage'
# - displays yellow icon on black otherwise
prompt_kubernetes_icon() {
KUBERNETES_SYMBOL=$'\xE2\x8E\x88'
KUBERNETES_CONTEXT=$1
case "$KUBERNETES_CONTEXT" in
*prod*) prompt_segment black red "$KUBERNETES_SYMBOL";;
*dev*|*stage*) prompt_segment black green "$KUBERNETES_SYMBOL";;
*) prompt_segment black yellow "$KUBERNETES_SYMBOL";;
esac
}
#KUBERNETES context:
# - display current KUBERNETES context for connection
# - from file .kube/config or env $KUBECONFIG
# - displays kubernetes icon if $OMZ_THEME_AGNOSTER_KUBERNETES_ICON is not set to hidden
# - displays context name if $OMZ_THEME_AGNOSTER_KUBERNETES_CONTEXT is not set to hidden
# - displays namespace if $OMZ_THEME_AGNOSTER_KUBERNETES_NAMESPACE is not set to hidden
prompt_kubernetes() {
KUBERNETES_BINARY="${KUBERNETES_BINARY:-kubectl}"
[[ -z "$KUBECONFIG" && -z "$(${KUBERNETES_BINARY} config current-context 2>/dev/null)" ]] && return
KUBERNETES_PROMPT=""
if [[ "$OMZ_THEME_AGNOSTER_KUBERNETES_CONTEXT" != "hidden" ]]; then
KUBERNETES_CONTEXT="$(${KUBERNETES_BINARY} config current-context 2>/dev/null)"
KUBERNETES_CONTEXT="${KUBERNETES_CONTEXT:-N/A}"
KUBERNETES_PROMPT="$KUBERNETES_PROMPT$KUBERNETES_CONTEXT"
fi
if [[ "$OMZ_THEME_AGNOSTER_KUBERNETES_NAMESPACE" != "hidden" ]]; then
KUBERNETES_NAMESPACE="$(${KUBERNETES_BINARY} config view --minify -o jsonpath={..namespace} 2>/dev/null)"
KUBERNETES_NAMESPACE="${KUBERNETES_NAMESPACE:+ ns:$KUBERNETES_NAMESPACE}"
KUBERNETES_PROMPT="$KUBERNETES_PROMPT -$KUBERNETES_NAMESPACE"
fi
if [[ "$KUBERNETES_PROMPT" != "" ]]; then
if [[ "$OMZ_THEME_AGNOSTER_KUBERNETES_ICON" != "hidden" ]]; then
prompt_kubernetes_icon "$KUBERNETES_CONTEXT"
fi
prompt_segment $CURRENT_BG default "$KUBERNETES_PROMPT"
fi
}
## Main prompt
build_prompt() {
RETVAL=$?
@ -262,6 +310,7 @@ build_prompt() {
prompt_aws
prompt_context
prompt_dir
prompt_kubernetes
prompt_git
prompt_bzr
prompt_hg