aboutsummaryrefslogtreecommitdiff
path: root/powerlevel9k.zsh-theme
diff options
context:
space:
mode:
authorBen Liblit <liblit@cs.wisc.edu>2017-04-01 07:23:27 +0300
committerBen Liblit <liblit@cs.wisc.edu>2017-04-01 07:23:27 +0300
commit9444e4c0c6d1d9949ec59710dbf1a0dc561b6670 (patch)
treeccd803fd94adc9a352a9c8b873abc22c165e7353 /powerlevel9k.zsh-theme
parentfa21d8fbc99c4a88334f877c686407dd27ac09a3 (diff)
Gracefully handle `echotc Co` failure
In Emacs, `M-x shell` creates a shell buffer with very rudimentary terminal capabilities. `$TERM` is set to `dumb`, and `echotc Co` fails after printing `echotc: no such capability: Co` to standard error. If our goal was to determine whether the terminal supports 256 colors, we really have no information to go on. I recommend that we trust the user and hope for the best. That means we should (1) discard any `echotc Co` error output, and (2) forego the warning message about having fewer than 256 colors if `echotc Co` failed.
Diffstat (limited to 'powerlevel9k.zsh-theme')
-rwxr-xr-xpowerlevel9k.zsh-theme4
1 files changed, 2 insertions, 2 deletions
diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme
index 52b56f4e..bbd1ec44 100755
--- a/powerlevel9k.zsh-theme
+++ b/powerlevel9k.zsh-theme
@@ -1317,8 +1317,8 @@ prompt_powerlevel9k_setup() {
# Display a warning if the terminal does not support 256 colors
local term_colors
- term_colors=$(echotc Co)
- if (( $term_colors < 256 )); then
+ term_colors=$(echotc Co 2>/dev/null)
+ if (( ! $? && ${term_colors:-0} < 256 )); then
print -P "%F{red}WARNING!%f Your terminal appears to support less 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"