From bd0c9f4ec7511f51851f9bde0e2e24b05fd1c10e Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Sun, 9 Oct 2022 11:54:02 +0200 Subject: rename arch to cpu_arch and rewrite it (#1752) --- internal/icons.zsh | 11 ++++++----- internal/p10k.zsh | 24 ++++++++++++++++-------- 2 files changed, 22 insertions(+), 13 deletions(-) (limited to 'internal') diff --git a/internal/icons.zsh b/internal/icons.zsh index c67bc45d..d38cf7bd 100644 --- a/internal/icons.zsh +++ b/internal/icons.zsh @@ -148,7 +148,7 @@ function _p9k_init_icons() { JULIA_ICON 'jl' SCALA_ICON 'scala' TOOLBOX_ICON '\u2B22' # ⬢ - ARCH_ICON '\uE205' #  + ARCH_ICON 'arch' ) ;; 'awesome-fontconfig') @@ -281,7 +281,7 @@ function _p9k_init_icons() { JULIA_ICON 'jl' SCALA_ICON 'scala' TOOLBOX_ICON '\u2B22' # ⬢ - ARCH_ICON '\uE205' #  + ARCH_ICON 'arch' ) ;; 'awesome-mapped-fontconfig') @@ -417,7 +417,7 @@ function _p9k_init_icons() { JULIA_ICON 'jl' SCALA_ICON 'scala' TOOLBOX_ICON '\u2B22' # ⬢ - ARCH_ICON '\uE205' #  + ARCH_ICON 'arch' ) ;; 'nerdfont-complete'|'nerdfont-fontconfig') @@ -551,7 +551,7 @@ function _p9k_init_icons() { JULIA_ICON '\uE624' #  SCALA_ICON '\uE737' #  TOOLBOX_ICON '\uE20F'$s #  - ARCH_ICON '\uE266' + ARCH_ICON '\uE266' #  ) ;; ascii) @@ -682,6 +682,7 @@ function _p9k_init_icons() { JULIA_ICON 'jl' SCALA_ICON 'scala' TOOLBOX_ICON 'toolbox' + ARCH_ICON 'arch' ) ;; *) @@ -814,7 +815,7 @@ function _p9k_init_icons() { JULIA_ICON 'jl' SCALA_ICON 'scala' TOOLBOX_ICON '\u2B22' # ⬢ - ARCH_ICON '\uE205' #  + ARCH_ICON 'arch' ) ;; esac diff --git a/internal/p10k.zsh b/internal/p10k.zsh index f9e38f84..b21b57bf 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -5646,18 +5646,26 @@ _p9k_prompt_haskell_stack_init() { ################################################################ # CPU Architecture -prompt_arch() { - if ! _p9k_cache_ephemeral_get $0 ; then - _p9k_cache_ephemeral_set $(arch) +prompt_cpu_arch() { + local -i len=$#_p9k__prompt _p9k__has_upglob + + local state text + if _p9k_cache_ephemeral_get $0; then + state=$_p9k__cache_val[1] + text=$_p9k__cache_val[2] + else + text=$(command arch) 2>/dev/null && [[ $text == [a-zA-Z][a-zA-Z0-9_]# ]] || text= + state=_${(U)text} + _p9k_cache_ephemeral_set "$state" "$text" + fi + if [[ -n $text ]]; then + _p9k_prompt_segment "$0$state" "yellow" "$_p9k_color1" 'ARCH_ICON' 0 '' "$text" fi - [[ $_p9k__cache_val[1] == $POWERLEVEL9K_ARCH_DEFAULT ]] && return - _p9k_prompt_segment "$0" "$_p9k_color1" "orange1" 'ARCH_ICON' 0 '' "$_p9k__cache_val[1]" -} -instant_prompt_arch() { prompt_arch; } + (( _p9k__has_upglob )) || typeset -g "_p9k__segment_val_${_p9k__prompt_side}[_p9k__segment_index]"=$_p9k__prompt[len+1,-1] +} _p9k_prompt_arch_init() { - echo 'arch init' >> ~/p9k_debug.txt typeset -g "_p9k__segment_cond_${_p9k__prompt_side}[_p9k__segment_index]"='$commands[arch]' } -- cgit v1.2.3