diff options
author | Ben Liblit <liblit@cs.wisc.edu> | 2017-04-01 07:23:27 +0300 |
---|---|---|
committer | Ben Liblit <liblit@cs.wisc.edu> | 2017-04-01 07:23:27 +0300 |
commit | 9444e4c0c6d1d9949ec59710dbf1a0dc561b6670 (patch) | |
tree | ccd803fd94adc9a352a9c8b873abc22c165e7353 /powerlevel9k.zsh-theme | |
parent | fa21d8fbc99c4a88334f877c686407dd27ac09a3 (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-x | powerlevel9k.zsh-theme | 4 |
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" |