summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--functions/colors.zsh16
-rwxr-xr-xpowerlevel9k.zsh-theme9
2 files changed, 17 insertions, 8 deletions
diff --git a/functions/colors.zsh b/functions/colors.zsh
index 3a7da27f..253de7cb 100644
--- a/functions/colors.zsh
+++ b/functions/colors.zsh
@@ -6,6 +6,22 @@
# https://github.com/bhilburn/powerlevel9k
################################################################
+function termColors() {
+ local term_colors
+
+ if which tput &>/dev/null; then
+ term_colors=$(tput colors)
+ else
+ term_colors=$(echotc Co)
+ fi
+ if (( ! $? && ${term_colors:-0} < 256 )); then
+ print -P "%F{red}WARNING!%f Your terminal appears to support fewer than 256 colors!"
+ print -P "If your terminal supports 256 colors, please export the appropriate environment variable"
+ print -P "_before_ loading this theme in your \~\/.zshrc. In most terminal emulators, putting"
+ print -P "%F{blue}export TERM=\"xterm-256color\"%f at the top of your \~\/.zshrc is sufficient."
+ fi
+}
+
# get the proper color code if it does not exist as a name.
function getColor() {
# no need to check numerical values
diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme
index 79f7208b..b50ce64d 100755
--- a/powerlevel9k.zsh-theme
+++ b/powerlevel9k.zsh-theme
@@ -1572,14 +1572,7 @@ prompt_powerlevel9k_setup() {
setopt noprompt{bang,cr,percent,sp,subst} "prompt${^prompt_opts[@]}"
# Display a warning if the terminal does not support 256 colors
- local term_colors
- term_colors=$(echotc Co 2>/dev/null)
- if (( ! $? && ${term_colors:-0} < 256 )); then
- print -P "%F{red}WARNING!%f Your terminal appears to support fewer than 256 colors!"
- print -P "If your terminal supports 256 colors, please export the appropriate environment variable"
- print -P "_before_ loading this theme in your \~\/.zshrc. In most terminal emulators, putting"
- print -P "%F{blue}export TERM=\"xterm-256color\"%f at the top of your \~\/.zshrc is sufficient."
- fi
+ termColors
# If the terminal `LANG` is set to `C`, this theme will not work at all.
local term_lang