aboutsummaryrefslogtreecommitdiff
path: root/internal/p10k.zsh
diff options
context:
space:
mode:
authorromkatv <roman.perepelitsa@gmail.com>2019-10-19 08:40:27 +0300
committerromkatv <roman.perepelitsa@gmail.com>2019-10-19 08:40:27 +0300
commitf2cd89ed70b9daa0557db946b57f6950fa2c57a9 (patch)
tree1d4d0118f7b5458974614769236cbf928afe085f /internal/p10k.zsh
parent94de8519b4879c6a1f62ce9e8155809e4641a471 (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.zsh11
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() {