summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Hilburn <bhilburn@gmail.com>2015-11-17 23:54:06 +0300
committerBen Hilburn <bhilburn@gmail.com>2015-11-17 23:54:06 +0300
commitb83cfd7515d5d6c0feaa9915f1a89a5d45a2c689 (patch)
tree14d0355d50ea630e379c93885066bc15c3da9479
parent85fd338d36d6b3558b174efe54576734cb3c0f40 (diff)
parentf9957ca5592df0ab992d3750e18ee6f61b3e3002 (diff)
Merge pull request #143 from dritter/segment_deprecation_helpers
Added segment deprecation helper
-rw-r--r--functions/utilities.zsh16
-rwxr-xr-xpowerlevel9k.zsh-theme8
2 files changed, 24 insertions, 0 deletions
diff --git a/functions/utilities.zsh b/functions/utilities.zsh
index 80a38977..f855caf5 100644
--- a/functions/utilities.zsh
+++ b/functions/utilities.zsh
@@ -118,3 +118,19 @@ if [[ "$OS" == 'OSX' ]]; then
SED_EXTENDED_REGEX_PARAMETER="-E"
fi
fi
+
+# Print a deprecation warning if an old segment is in use.
+# Takes the name of an associative array that contains the
+# deprecated segments as keys, the values contain the new
+# segment names.
+print_deprecation_warning() {
+ typeset -AH raw_deprecated_segments
+ raw_deprecated_segments=(${(kvP@)1})
+
+ for key in ${(@k)raw_deprecated_segments}; do
+ if [[ -n "${POWERLEVEL9K_LEFT_PROMPT_ELEMENTS[(r)$key]}" ]] || [[ -n "${POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS[(r)$key]}" ]]; then
+ # segment is deprecated
+ print -P "%F{yellow}Warning!%f The '$key' segment is deprecated. Use '%F{blue}${raw_deprecated_segments[$key]}%f' instead. For more informations, have a look at the CHANGELOG.md."
+ fi
+ done
+}
diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme
index 0707276d..cdcb9a96 100755
--- a/powerlevel9k.zsh-theme
+++ b/powerlevel9k.zsh-theme
@@ -754,6 +754,14 @@ powerlevel9k_init() {
print -P "You should put: %F{blue}export TERM=\"xterm-256color\"%f in your \~\/.zshrc"
fi
+ # Display a warning if deprecated segments are in use.
+ typeset -AH deprecated_segments
+ # old => new
+ deprecated_segments=(
+ 'longstatus' 'status'
+ )
+ print_deprecation_warning deprecated_segments
+
setopt prompt_subst
setopt LOCAL_OPTIONS