diff options
author | romkatv <roman.perepelitsa@gmail.com> | 2019-08-05 21:23:30 +0300 |
---|---|---|
committer | romkatv <roman.perepelitsa@gmail.com> | 2019-08-05 21:23:30 +0300 |
commit | 59e96984a1cde0c50a1c37e4b8ed9fe7b028b3c4 (patch) | |
tree | 4496ab852844dfb512328d4a613ca11435c7cd5d /internal/p10k.zsh | |
parent | d8c509f5c92d850de92417c7fdad4ce7fcb18fb4 (diff) |
be more tolerant towards misconfigured locales; users with non-utf-8 locales will still have broken shells but at least p10k will work
Diffstat (limited to 'internal/p10k.zsh')
-rwxr-xr-x | internal/p10k.zsh | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 4196e18a..2a751e65 100755 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -147,6 +147,7 @@ function _p9k_declare() { (( set )) && typeset -g _$2=${(P)2} || typeset -g _$2=$3 ;; -e) + local LC_ALL=C.UTF-8 if (( set )); then local v=${(P)2} typeset -g _$2=${(g::)v} @@ -329,6 +330,7 @@ _p9k_get_icon() { if [[ $_p9k_ret == $'\1'* ]]; then _p9k_ret=${_p9k_ret[2,-1]} else + local LC_ALL=C.UTF-8 _p9k_ret=${(g::)_p9k_ret} [[ $_p9k_ret != $'\b'? ]] || _p9k_ret="%{$_p9k_ret%}" # penance for past sins fi @@ -549,6 +551,7 @@ _p9k_left_prompt_segment() { p+='${${_p9k_e:#00}:+${${_p9k_t[$_p9k_n]/'$ss'/$_p9k_ss}/'$s'/$_p9k_s}' + local LC_ALL=C.UTF-8 _p9k_param $1 ICON_BEFORE_CONTENT '' if [[ $_p9k_ret != false ]]; then _p9k_param $1 PREFIX '' @@ -749,6 +752,7 @@ _p9k_right_prompt_segment() { p+='${${_p9k_e:#00}:+${_p9k_t[$_p9k_n]/'$w'/$_p9k_w}' + local LC_ALL=C.UTF-8 _p9k_param $1 ICON_BEFORE_CONTENT '' if [[ $_p9k_ret != true ]]; then _p9k_param $1 PREFIX '' @@ -1087,6 +1091,7 @@ prompt_context() { if [[ -z $content ]]; then local var=POWERLEVEL9K_CONTEXT_${state}_TEMPLATE if (( $+parameters[$var] )); then + local LC_ALL=C.UTF-8 content=${(P)var} content=${(g::)content} else @@ -3508,6 +3513,7 @@ _p9k_init_params() { if [[ $parameters[POWERLEVEL9K_BATTERY_STAGES] == scalar ]]; then _p9k_declare -e POWERLEVEL9K_BATTERY_STAGES else + local LC_ALL=C.UTF-8 _p9k_declare -a POWERLEVEL9K_BATTERY_STAGES -- _POWERLEVEL9K_BATTERY_STAGES=("${(@g::)_POWERLEVEL9K_BATTERY_STAGES}") fi @@ -3765,6 +3771,7 @@ _p9k_build_gap_post() { } _p9k_init_lines() { + local LC_ALL=C.UTF-8 local -a left_segments=($_POWERLEVEL9K_LEFT_PROMPT_ELEMENTS) local -a right_segments=($_POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS) @@ -4167,6 +4174,7 @@ _p9k_init() { if _p9k_segment_in_use dir; then if (( $+_POWERLEVEL9K_DIR_CLASSES )); then + local LC_ALL=C.UTF-8 local -i i=3 for ((; i <= $#_POWERLEVEL9K_DIR_CLASSES; i+=3)); do _POWERLEVEL9K_DIR_CLASSES[i]=${(g::)_POWERLEVEL9K_DIR_CLASSES[i]} |