diff options
author | romkatv <roman.perepelitsa@gmail.com> | 2019-10-19 08:40:27 +0300 |
---|---|---|
committer | romkatv <roman.perepelitsa@gmail.com> | 2019-10-19 08:40:27 +0300 |
commit | f2cd89ed70b9daa0557db946b57f6950fa2c57a9 (patch) | |
tree | 1d4d0118f7b5458974614769236cbf928afe085f /internal/p10k.zsh | |
parent | 94de8519b4879c6a1f62ce9e8155809e4641a471 (diff) |
work around a bug in zsh that percent-expands `%1F{2}` as if it was `%F{2}`; fixes #270
Diffstat (limited to 'internal/p10k.zsh')
-rw-r--r-- | internal/p10k.zsh | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 7849187e..b54add4c 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -91,7 +91,7 @@ function getColorCode() { emulate -L zsh setopt no_hist_expand extended_glob no_prompt_bang prompt_{percent,subst} if (( ARGC == 1 )); then - case $1 in + case $1 in foreground) local k for k in "${(k@)__p9k_colors}"; do @@ -444,11 +444,10 @@ _p9k_background() { } _p9k_foreground() { - case $1 in - '') _p9k_ret="%f";; - '#'*) _p9k_ret="%F{$1}";; - *) _p9k_ret="%${1}F";; - esac + # Note: This code used to produce `%1F` instead of `%F{1}` because it's more efficient. + # Unfortunately, this triggers a bug in zsh. Namely, `%1F{2}` gets percent-expanded as if + # it was `%F{2}`. + [[ -n $1 ]] && _p9k_ret="%F{$1}" || _p9k_ret="%k" } _p9k_escape_style() { |