From 307bce24d19fa09d971a0d33c39f3c9fda82924e Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Fri, 26 Jan 2024 09:24:27 +0100 Subject: [PATCH 01/66] docs: fix a link to zsh-theme-powerlevel10k archlinux package --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 13cd994e..c864fb7f 100644 --- a/README.md +++ b/README.md @@ -531,7 +531,7 @@ echo 'source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme' >>~/.zs referenced above is the official Powerlevel10k package. There is also [zsh-theme-powerlevel10k]( - https://www.archlinux.org/packages/community/x86_64/zsh-theme-powerlevel10k/) community package. + https://www.archlinux.org/packages/extra/x86_64/zsh-theme-powerlevel10k/) package. Historically, [it has been breaking often and for extended periods of time]( https://github.com/romkatv/powerlevel10k/pull/786). **Do not use it.** From 6f4520cc13cd203fef81ecc7f095cd45c7960766 Mon Sep 17 00:00:00 2001 From: Andrea Date: Wed, 31 Jan 2024 23:43:11 +0100 Subject: [PATCH 02/66] add neon support --- internal/icons.zsh | 7 ++++++ internal/p10k.zsh | 53 ++++++--------------------------------------- internal/wizard.zsh | 1 + 3 files changed, 15 insertions(+), 46 deletions(-) diff --git a/internal/icons.zsh b/internal/icons.zsh index dc3d675e..f733c7f6 100644 --- a/internal/icons.zsh +++ b/internal/icons.zsh @@ -75,6 +75,7 @@ function _p9k_init_icons() { LINUX_ENDEAVOUROS_ICON '\uE271'$s #  LINUX_ROCKY_ICON '\uE271'$s #  LINUX_GUIX_ICON '\uE271'$s #  + LINUX_NEON_ICON '\uE271'$s #  SUNOS_ICON '\U1F31E'$q # 🌞 HOME_ICON '\uE12C'$s #  HOME_SUB_ICON '\uE18D'$s #  @@ -231,6 +232,7 @@ function _p9k_init_icons() { LINUX_ENDEAVOUROS_ICON '\uF17C'$s #  LINUX_ROCKY_ICON '\uF17C'$s #  LINUX_GUIX_ICON '\uF17C'$s #  + LINUX_NEON_ICON '\uF17C'$s #  SUNOS_ICON '\uF185 ' #  HOME_ICON '\uF015'$s #  HOME_SUB_ICON '\uF07C'$s #  @@ -388,6 +390,7 @@ function _p9k_init_icons() { LINUX_ENDEAVOUROS_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}" LINUX_ROCKY_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}" LINUX_GUIX_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}" + LINUX_NEON_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}" SUNOS_ICON "${CODEPOINT_OF_AWESOME_SUN_O:+\\u$CODEPOINT_OF_AWESOME_SUN_O }" HOME_ICON "${CODEPOINT_OF_AWESOME_HOME:+\\u$CODEPOINT_OF_AWESOME_HOME$s}" HOME_SUB_ICON "${CODEPOINT_OF_AWESOME_FOLDER_OPEN:+\\u$CODEPOINT_OF_AWESOME_FOLDER_OPEN$s}" @@ -538,6 +541,7 @@ function _p9k_init_icons() { LINUX_ENDEAVOUROS_ICON '\UF322'$s #  LINUX_ROCKY_ICON '\UF32B'$s #  LINUX_GUIX_ICON '\UF325'$s #  + LINUX_NEON_ICON '\UF331'$s #  LINUX_ICON '\uF17C' #  SUNOS_ICON '\uF185 ' #  HOME_ICON '\uF015'$s #  @@ -696,6 +700,7 @@ function _p9k_init_icons() { LINUX_ENDEAVOUROS_ICON '\uF17C' #  LINUX_ROCKY_ICON '\uF17C' #  LINUX_GUIX_ICON '\uF325'$s #  + LINUX_NEON_ICON '\UF331'$s #  LINUX_ICON '\uF17C' #  SUNOS_ICON '\uF185 ' #  HOME_ICON '\uF015'$s #  @@ -847,6 +852,7 @@ function _p9k_init_icons() { LINUX_ENDEAVOUROS_ICON 'edvos' LINUX_ROCKY_ICON 'rocky' LINUX_GUIX_ICON 'guix' + LINUX_NEON_ICON 'neon' SUNOS_ICON 'sunos' HOME_ICON '' HOME_SUB_ICON '' @@ -999,6 +1005,7 @@ function _p9k_init_icons() { LINUX_ENDEAVOUROS_ICON 'Edv' LINUX_ROCKY_ICON 'Roc' LINUX_GUIX_ICON 'Guix' + LINUX_NEON_ICON 'Neon' SUNOS_ICON 'Sun' HOME_ICON '' HOME_SUB_ICON '' diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 0b003853..8e6e9d03 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -4254,36 +4254,6 @@ function instant_prompt_chezmoi_shell() { _p9k_prompt_segment prompt_chezmoi_shell blue $_p9k_color1 CHEZMOI_ICON 1 '$CHEZMOI_ICON' '' } -function _p9k_parse_virtualenv_cfg() { - typeset -ga reply=(0) - [[ -f $1 && -r $1 ]] || return - - local cfg - cfg=$(<$1) || return - - local -a match mbegin mend - [[ $'\n'$cfg$'\n' == (#b)*$'\n'prompt[$' \t']#=[$' \t']#([^$' \t']#)[$' \t']#$'\n'* ]] || return - local res=$match[1] - if [[ $res == (\"*\"|\'*\') ]]; then - # The string is quoted in python style, which isn't the same as quoting in zsh. - # For example, the literal 'foo"\'bar' denotes foo"'bar in python but in zsh - # it is malformed. - # - # We cheat a bit and impelement not exactly correct unquoting. It may produce - # different visual results but won't perform unintended expansions or bleed out - # any escape sequences. - # - # Note that venv performs unusual and obviously unintended expansions on the - # value of `prompt`: single-word expansions are performed twice by `activate`, - # and then again on every prompt if `prompt_subst` is in effect. While in general - # I am OK with being bug-compatible with other software, the bugs in venv are a - # bit too extreme for my comfort. I am going to disable all expansions and - # display the configured prompt literally. - res=${(Vg:e:)${res[2,-2]}} - fi - reply=(1 "$res") -} - ################################################################ # Virtualenv: current working virtualenv # More information on virtualenv (Python): @@ -4293,21 +4263,11 @@ prompt_virtualenv() { if (( _POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION )) && _p9k_python_version; then msg="${_p9k__ret//\%/%%} " fi - local cfg=$VIRTUAL_ENV/pyvenv.cfg - if ! _p9k_cache_stat_get $0 $cfg; then - local -a reply - _p9k_parse_virtualenv_cfg $cfg - _p9k_cache_stat_set "${reply[@]}" - fi - if (( _p9k__cache_val[1] )); then - local v=$_p9k__cache_val[2] - else - local v=${VIRTUAL_ENV:t} - if [[ $VIRTUAL_ENV_PROMPT == '('?*') ' && $VIRTUAL_ENV_PROMPT != "($v) " ]]; then - v=$VIRTUAL_ENV_PROMPT[2,-3] - elif [[ $v == $~_POWERLEVEL9K_VIRTUALENV_GENERIC_NAMES ]]; then - v=${VIRTUAL_ENV:h:t} - fi + local v=${VIRTUAL_ENV:t} + if [[ $VIRTUAL_ENV_PROMPT == '('?*') ' && $VIRTUAL_ENV_PROMPT != "($v) " ]]; then + v=$VIRTUAL_ENV_PROMPT[2,-3] + elif [[ $v == $~_POWERLEVEL9K_VIRTUALENV_GENERIC_NAMES ]]; then + v=${VIRTUAL_ENV:h:t} fi msg+="$_POWERLEVEL9K_VIRTUALENV_LEFT_DELIMITER${v//\%/%%}$_POWERLEVEL9K_VIRTUALENV_RIGHT_DELIMITER" case $_POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV in @@ -8637,6 +8597,7 @@ function _p9k_init_cacheable() { endeavouros) _p9k_set_os Linux LINUX_ENDEAVOUROS_ICON;; rocky) _p9k_set_os Linux LINUX_ROCKY_ICON;; guix) _p9k_set_os Linux LINUX_GUIX_ICON;; + neon) _p9k_set_os Linux LINUX_NEON_ICON;; *) _p9k_set_os Linux LINUX_ICON;; esac ;; @@ -9457,7 +9418,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.19.14 +typeset -g P9K_VERSION=1.19.13 unset VSCODE_SHELL_INTEGRATION _p9k_init_ssh diff --git a/internal/wizard.zsh b/internal/wizard.zsh index e07225e0..2efd26b7 100644 --- a/internal/wizard.zsh +++ b/internal/wizard.zsh @@ -1158,6 +1158,7 @@ function os_icon_name() { endeavouros) echo LINUX_ENDEAVOUROS_ICON;; rocky) echo LINUX_ROCKY_ICON;; guix) echo LINUX_GUIX_ICON;; + neon) echo LINUX_NEON_ICON;; *) echo LINUX_ICON;; esac ;; From adc238fa1d188d075e8803ea85dcca44d2deff4f Mon Sep 17 00:00:00 2001 From: Andrea Date: Wed, 31 Jan 2024 23:49:13 +0100 Subject: [PATCH 03/66] neon support --- internal/p10k.zsh | 52 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 46 insertions(+), 6 deletions(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 8e6e9d03..d7be4d0a 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -4254,6 +4254,36 @@ function instant_prompt_chezmoi_shell() { _p9k_prompt_segment prompt_chezmoi_shell blue $_p9k_color1 CHEZMOI_ICON 1 '$CHEZMOI_ICON' '' } +function _p9k_parse_virtualenv_cfg() { + typeset -ga reply=(0) + [[ -f $1 && -r $1 ]] || return + + local cfg + cfg=$(<$1) || return + + local -a match mbegin mend + [[ $'\n'$cfg$'\n' == (#b)*$'\n'prompt[$' \t']#=[$' \t']#([^$' \t']#)[$' \t']#$'\n'* ]] || return + local res=$match[1] + if [[ $res == (\"*\"|\'*\') ]]; then + # The string is quoted in python style, which isn't the same as quoting in zsh. + # For example, the literal 'foo"\'bar' denotes foo"'bar in python but in zsh + # it is malformed. + # + # We cheat a bit and impelement not exactly correct unquoting. It may produce + # different visual results but won't perform unintended expansions or bleed out + # any escape sequences. + # + # Note that venv performs unusual and obviously unintended expansions on the + # value of `prompt`: single-word expansions are performed twice by `activate`, + # and then again on every prompt if `prompt_subst` is in effect. While in general + # I am OK with being bug-compatible with other software, the bugs in venv are a + # bit too extreme for my comfort. I am going to disable all expansions and + # display the configured prompt literally. + res=${(Vg:e:)${res[2,-2]}} + fi + reply=(1 "$res") +} + ################################################################ # Virtualenv: current working virtualenv # More information on virtualenv (Python): @@ -4263,11 +4293,21 @@ prompt_virtualenv() { if (( _POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION )) && _p9k_python_version; then msg="${_p9k__ret//\%/%%} " fi - local v=${VIRTUAL_ENV:t} - if [[ $VIRTUAL_ENV_PROMPT == '('?*') ' && $VIRTUAL_ENV_PROMPT != "($v) " ]]; then - v=$VIRTUAL_ENV_PROMPT[2,-3] - elif [[ $v == $~_POWERLEVEL9K_VIRTUALENV_GENERIC_NAMES ]]; then - v=${VIRTUAL_ENV:h:t} + local cfg=$VIRTUAL_ENV/pyvenv.cfg + if ! _p9k_cache_stat_get $0 $cfg; then + local -a reply + _p9k_parse_virtualenv_cfg $cfg + _p9k_cache_stat_set "${reply[@]}" + fi + if (( _p9k__cache_val[1] )); then + local v=$_p9k__cache_val[2] + else + local v=${VIRTUAL_ENV:t} + if [[ $VIRTUAL_ENV_PROMPT == '('?*') ' && $VIRTUAL_ENV_PROMPT != "($v) " ]]; then + v=$VIRTUAL_ENV_PROMPT[2,-3] + elif [[ $v == $~_POWERLEVEL9K_VIRTUALENV_GENERIC_NAMES ]]; then + v=${VIRTUAL_ENV:h:t} + fi fi msg+="$_POWERLEVEL9K_VIRTUALENV_LEFT_DELIMITER${v//\%/%%}$_POWERLEVEL9K_VIRTUALENV_RIGHT_DELIMITER" case $_POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV in @@ -9418,7 +9458,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.19.13 +typeset -g P9K_VERSION=1.19.14 unset VSCODE_SHELL_INTEGRATION _p9k_init_ssh From 62341054d8aa40ade03fc55bdbc95b9ff2d8d2b6 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Thu, 1 Feb 2024 06:44:39 +0100 Subject: [PATCH 04/66] set the default value of LINUX_NEON_ICON to a glyph that exists in the recommended font (#2553) --- internal/icons.zsh | 4 ++-- internal/p10k.zsh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/icons.zsh b/internal/icons.zsh index f733c7f6..81c215e6 100644 --- a/internal/icons.zsh +++ b/internal/icons.zsh @@ -541,7 +541,7 @@ function _p9k_init_icons() { LINUX_ENDEAVOUROS_ICON '\UF322'$s #  LINUX_ROCKY_ICON '\UF32B'$s #  LINUX_GUIX_ICON '\UF325'$s #  - LINUX_NEON_ICON '\UF331'$s #  + LINUX_NEON_ICON '\uF17C' #  LINUX_ICON '\uF17C' #  SUNOS_ICON '\uF185 ' #  HOME_ICON '\uF015'$s #  @@ -700,7 +700,7 @@ function _p9k_init_icons() { LINUX_ENDEAVOUROS_ICON '\uF17C' #  LINUX_ROCKY_ICON '\uF17C' #  LINUX_GUIX_ICON '\uF325'$s #  - LINUX_NEON_ICON '\UF331'$s #  + LINUX_NEON_ICON '\uF17C' #  LINUX_ICON '\uF17C' #  SUNOS_ICON '\uF185 ' #  HOME_ICON '\uF015'$s #  diff --git a/internal/p10k.zsh b/internal/p10k.zsh index d7be4d0a..a4a4c00b 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -8637,7 +8637,7 @@ function _p9k_init_cacheable() { endeavouros) _p9k_set_os Linux LINUX_ENDEAVOUROS_ICON;; rocky) _p9k_set_os Linux LINUX_ROCKY_ICON;; guix) _p9k_set_os Linux LINUX_GUIX_ICON;; - neon) _p9k_set_os Linux LINUX_NEON_ICON;; + neon) _p9k_set_os Linux LINUX_NEON_ICON;; *) _p9k_set_os Linux LINUX_ICON;; esac ;; @@ -9458,7 +9458,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.19.14 +typeset -g P9K_VERSION=1.19.15 unset VSCODE_SHELL_INTEGRATION _p9k_init_ssh From 34ee1c6bbb6b8e2372c4937d9ea7afa1855957de Mon Sep 17 00:00:00 2001 From: Ulices Date: Sat, 3 Feb 2024 11:13:23 +0000 Subject: [PATCH 05/66] fix: use correct sourcehut repository url (#2556) sourcehut.org is the website of the organization but sr.ht is the website were the repositories are hosted. --- internal/p10k.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index a4a4c00b..411e5aad 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -7454,7 +7454,7 @@ _p9k_init_params() { 'gnu.org' VCS_GIT_GNU_ICON 'kde.org' VCS_GIT_KDE_ICON 'kernel.org' VCS_GIT_LINUX_ICON - 'sourcehut.org' VCS_GIT_SOURCEHUT_ICON + 'sr.ht' VCS_GIT_SOURCEHUT_ICON ) typeset -ga _POWERLEVEL9K_VCS_GIT_REMOTE_ICONS for domain icon in "${domain2icon[@]}"; do From ce7c242337c6e1002c0af64d43b8c8904007055b Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Sat, 3 Feb 2024 12:14:58 +0100 Subject: [PATCH 06/66] bump versions --- internal/p10k.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 411e5aad..cb11b3f1 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -9458,7 +9458,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.19.15 +typeset -g P9K_VERSION=1.20.0 unset VSCODE_SHELL_INTEGRATION _p9k_init_ssh From 5bba4b849b04da665d9776930f47371ebb9974a4 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Tue, 6 Feb 2024 09:55:40 +0100 Subject: [PATCH 07/66] skip batteries with "Unknown" status (#2562) --- internal/p10k.zsh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index cb11b3f1..8a44b01d 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -1410,6 +1410,9 @@ _p9k_prompt_battery_set_args() { local -i is_full=1 is_calculating is_charching local dir for dir in $bats; do + _p9k_read_file $dir/status(N) && local bat_status=$_p9k__ret || continue + # Skip batteries with "Unknown" status: https://github.com/romkatv/powerlevel10k/pull/2562. + [[ $bat_status == Unknown ]] && continue local -i pow=0 full=0 if _p9k_read_file $dir/(energy_full|charge_full|charge_counter)(N); then (( energy_full += ${full::=_p9k__ret} )) @@ -1422,7 +1425,6 @@ _p9k_prompt_battery_set_args() { elif _p9k_read_file $dir/(energy|charge)_now(N); then (( energy_now += _p9k__ret )) fi - _p9k_read_file $dir/status(N) && local bat_status=$_p9k__ret || continue [[ $bat_status != Full ]] && is_full=0 [[ $bat_status == Charging ]] && is_charching=1 [[ $bat_status == (Charging|Discharging) && $pow == 0 ]] && is_calculating=1 @@ -9458,7 +9460,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.20.0 +typeset -g P9K_VERSION=1.20.1 unset VSCODE_SHELL_INTEGRATION _p9k_init_ssh From 1aa91f0069bcfbdb82ebdded74eb1730ad0674e1 Mon Sep 17 00:00:00 2001 From: weirdgiraffe Date: Mon, 12 Feb 2024 09:49:34 +0100 Subject: [PATCH 08/66] add icon for yazi level --- internal/icons.zsh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/internal/icons.zsh b/internal/icons.zsh index 81c215e6..ec5b8721 100644 --- a/internal/icons.zsh +++ b/internal/icons.zsh @@ -139,6 +139,7 @@ function _p9k_init_icons() { JAVA_ICON '\U2615' # ☕︎ LARAVEL_ICON '' RANGER_ICON '\u2B50' # ⭐ + YAZI_ICON '\u2B50' # ⭐ MIDNIGHT_COMMANDER_ICON 'mc' VIM_ICON 'vim' TERRAFORM_ICON 'tf' @@ -292,6 +293,7 @@ function _p9k_init_icons() { JAVA_ICON '\U2615' # ☕︎ LARAVEL_ICON '' RANGER_ICON '\u2B50' # ⭐ + YAZI_ICON '\u2B50' # ⭐ MIDNIGHT_COMMANDER_ICON 'mc' VIM_ICON 'vim' TERRAFORM_ICON 'tf' @@ -448,6 +450,7 @@ function _p9k_init_icons() { JAVA_ICON '\U2615' # ☕︎ LARAVEL_ICON '' RANGER_ICON '\u2B50' # ⭐ + YAZI_ICON '\u2B50' # ⭐ MIDNIGHT_COMMANDER_ICON 'mc' VIM_ICON 'vim' TERRAFORM_ICON 'tf' @@ -607,6 +610,7 @@ function _p9k_init_icons() { JAVA_ICON '\uE738' #  LARAVEL_ICON '\ue73f'$q #  RANGER_ICON '\uF00b ' #  + YAZI_ICON '\uF00b ' #  MIDNIGHT_COMMANDER_ICON 'mc' # mc VIM_ICON '\uE62B' #  TERRAFORM_ICON '\uF1BB ' #  @@ -761,6 +765,7 @@ function _p9k_init_icons() { JAVA_ICON '\uE738' #  LARAVEL_ICON '\ue73f'$q #  RANGER_ICON '\uF00b ' #  + YAZI_ICON '\uF00b ' #  MIDNIGHT_COMMANDER_ICON 'mc' VIM_ICON '\uE62B' #  TERRAFORM_ICON '\uF1BB ' #  @@ -912,6 +917,7 @@ function _p9k_init_icons() { JAVA_ICON 'java' LARAVEL_ICON '' RANGER_ICON 'ranger' + YAZI_ICON 'yazi' MIDNIGHT_COMMANDER_ICON 'mc' VIM_ICON 'vim' TERRAFORM_ICON 'tf' @@ -1065,6 +1071,7 @@ function _p9k_init_icons() { JAVA_ICON '\U2615' # ☕︎ LARAVEL_ICON '' RANGER_ICON '\u2B50' # ⭐ + YAZI_ICON '\u2B50' # ⭐ MIDNIGHT_COMMANDER_ICON 'mc' VIM_ICON 'vim' TERRAFORM_ICON 'tf' From eb8f96f8080cbab3786425a24b7ad64695a59e91 Mon Sep 17 00:00:00 2001 From: weirdgiraffe Date: Mon, 12 Feb 2024 09:51:22 +0100 Subject: [PATCH 09/66] add prompt segment for yazi levels --- internal/p10k.zsh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 8a44b01d..976d695a 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -4955,6 +4955,18 @@ function instant_prompt_ranger() { _p9k_prompt_segment prompt_ranger $_p9k_color1 yellow RANGER_ICON 1 '$RANGER_LEVEL' '$RANGER_LEVEL' } +function prompt_yazi() { + _p9k_prompt_segment $0 $_p9k_color1 yellow YAZI_ICON 0 '' $YAZI_LEVEL +} + +_p9k_prompt_yazi_init() { + typeset -g "_p9k__segment_cond_${_p9k__prompt_side}[_p9k__segment_index]"='$YAZI_LEVEL' +} + +function instant_prompt_yazi() { + _p9k_prompt_segment prompt_yazi $_p9k_color1 yellow YAZI_ICON 1 '$YAZI_LEVEL' '$YAZI_LEVEL' +} + function prompt_midnight_commander() { local -i len=$#_p9k__prompt _p9k__has_upglob _p9k_prompt_segment $0 $_p9k_color1 yellow MIDNIGHT_COMMANDER_ICON 0 '' '' From 67cedd3edcd54aa8edf392d72d9b637fa01eec9f Mon Sep 17 00:00:00 2001 From: weirdgiraffe Date: Mon, 12 Feb 2024 10:16:30 +0100 Subject: [PATCH 10/66] add visual expansion to wizard --- internal/wizard.zsh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/internal/wizard.zsh b/internal/wizard.zsh index 2efd26b7..2714eec2 100644 --- a/internal/wizard.zsh +++ b/internal/wizard.zsh @@ -1743,6 +1743,8 @@ function generate_config() { sub NORDVPN_VISUAL_IDENTIFIER_EXPANSION "'nord'" uncomment 'typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION' sub RANGER_VISUAL_IDENTIFIER_EXPANSION "'▲'" + uncomment 'typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION' + sub YAZI_VISUAL_IDENTIFIER_EXPANSION "'▲'" uncomment 'typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION' sub KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION "'○'" uncomment 'typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION' From 665257d05925bf399741126fd457d471a41e7ccd Mon Sep 17 00:00:00 2001 From: weirdgiraffe Date: Mon, 12 Feb 2024 10:26:42 +0100 Subject: [PATCH 11/66] add themes support --- config/p10k-classic.zsh | 8 ++++++++ config/p10k-lean-8colors.zsh | 7 +++++++ config/p10k-lean.zsh | 7 +++++++ config/p10k-rainbow.zsh | 10 +++++++++- 4 files changed, 31 insertions(+), 1 deletion(-) diff --git a/config/p10k-classic.zsh b/config/p10k-classic.zsh index 0e950d30..e0d32d84 100644 --- a/config/p10k-classic.zsh +++ b/config/p10k-classic.zsh @@ -81,6 +81,7 @@ context # user@hostname nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) ranger # ranger shell (https://github.com/ranger/ranger) + yazi # yazi shell (https://github.com/sxyazi/yazi) nnn # nnn shell (https://github.com/jarun/nnn) lf # lf shell (https://github.com/gokcehan/lf) xplr # xplr shell (https://github.com/sayanarijit/xplr) @@ -728,6 +729,12 @@ typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178 # Custom icon. # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]#################### + # Yazi shell color. + typeset -g POWERLEVEL9K_YAZI_FOREGROUND=178 + # Custom icon. + # typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐' ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### # Nnn shell color. @@ -807,6 +814,7 @@ # Custom icon. # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐' ######################################[ ram: free RAM ]####################################### # RAM color. diff --git a/config/p10k-lean-8colors.zsh b/config/p10k-lean-8colors.zsh index ca6e3d61..3e6d3d95 100644 --- a/config/p10k-lean-8colors.zsh +++ b/config/p10k-lean-8colors.zsh @@ -81,6 +81,7 @@ context # user@hostname nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) ranger # ranger shell (https://github.com/ranger/ranger) + yazi # yazi shell (https://github.com/sxyazi/yazi) nnn # nnn shell (https://github.com/jarun/nnn) lf # lf shell (https://github.com/gokcehan/lf) xplr # xplr shell (https://github.com/sayanarijit/xplr) @@ -723,6 +724,12 @@ typeset -g POWERLEVEL9K_RANGER_FOREGROUND=3 # Custom icon. # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]################### + # Yazi shell color. + typeset -g POWERLEVEL9K_YAZI_FOREGROUND=3 + # Custom icon. + # typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐' ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### # Nnn shell color. diff --git a/config/p10k-lean.zsh b/config/p10k-lean.zsh index e129c98a..7674f2c5 100644 --- a/config/p10k-lean.zsh +++ b/config/p10k-lean.zsh @@ -81,6 +81,7 @@ context # user@hostname nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) ranger # ranger shell (https://github.com/ranger/ranger) + yazi # yazi shell (https://github.com/sxyazi/yazi) nnn # nnn shell (https://github.com/jarun/nnn) lf # lf shell (https://github.com/gokcehan/lf) xplr # xplr shell (https://github.com/sayanarijit/xplr) @@ -719,6 +720,12 @@ typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178 # Custom icon. # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]################### + # Yazi shell color. + typeset -g POWERLEVEL9K_YAZI_FOREGROUND=178 + # Custom icon. + # typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐' ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### # Nnn shell color. diff --git a/config/p10k-rainbow.zsh b/config/p10k-rainbow.zsh index 6b932c9e..325f9879 100644 --- a/config/p10k-rainbow.zsh +++ b/config/p10k-rainbow.zsh @@ -81,6 +81,7 @@ context # user@hostname nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) ranger # ranger shell (https://github.com/ranger/ranger) + yazi # yazi shell (https://github.com/sxyazi/yazi) nnn # nnn shell (https://github.com/jarun/nnn) lf # lf shell (https://github.com/gokcehan/lf) xplr # xplr shell (https://github.com/sayanarijit/xplr) @@ -747,7 +748,14 @@ typeset -g POWERLEVEL9K_RANGER_BACKGROUND=0 # Custom icon. # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' - + + ######################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]################### + # Yazi shell color. + typeset -g POWERLEVEL9K_YAZI_FOREGROUND=3 + typeset -g POWERLEVEL9K_YAZI_BACKGROUND=0 + # Custom icon. + # typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐' + ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### # Nnn shell color. typeset -g POWERLEVEL9K_NNN_FOREGROUND=0 From f880e18769409ffe407b725c6004c5a8e849408d Mon Sep 17 00:00:00 2001 From: weirdgiraffe Date: Mon, 12 Feb 2024 10:28:49 +0100 Subject: [PATCH 12/66] update readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c864fb7f..76b0a422 100644 --- a/README.md +++ b/README.md @@ -358,6 +358,7 @@ You can enable as many segments as you like. It won't slow down your prompt or Z | `pyenv` | python environment from [pyenv](https://github.com/pyenv/pyenv) | | `ram` | free RAM | | `ranger` | [ranger](https://github.com/ranger/ranger) shell | +| `yazi` | [yazi](https://github.com/sxyazi/yazi)) shell | | `rbenv` | ruby environment from [rbenv](https://github.com/rbenv/rbenv) | | `rust_version` | [rustc](https://www.rust-lang.org) version | | `rvm` | ruby environment from [rvm](https://rvm.io) | From 8e2a22d80ba9f5fd6c784f66dc52c21385eb2642 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 12 Feb 2024 10:45:18 +0100 Subject: [PATCH 13/66] cleanup and bump version (#2572) --- config/p10k-classic.zsh | 6 ++---- config/p10k-lean-8colors.zsh | 2 +- config/p10k-lean.zsh | 2 +- config/p10k-rainbow.zsh | 4 +++- internal/p10k.zsh | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/config/p10k-classic.zsh b/config/p10k-classic.zsh index e0d32d84..bc957abe 100644 --- a/config/p10k-classic.zsh +++ b/config/p10k-classic.zsh @@ -730,7 +730,7 @@ # Custom icon. # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' - #####################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]#################### + ####################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]##################### # Yazi shell color. typeset -g POWERLEVEL9K_YAZI_FOREGROUND=178 # Custom icon. @@ -811,10 +811,8 @@ # Text and color for insert vi mode. typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING= typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=66 - # Custom icon. - # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_VI_MODE_VISUAL_IDENTIFIER_EXPANSION='⭐' ######################################[ ram: free RAM ]####################################### # RAM color. diff --git a/config/p10k-lean-8colors.zsh b/config/p10k-lean-8colors.zsh index 3e6d3d95..593c3239 100644 --- a/config/p10k-lean-8colors.zsh +++ b/config/p10k-lean-8colors.zsh @@ -725,7 +725,7 @@ # Custom icon. # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' - ######################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]################### + ####################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]##################### # Yazi shell color. typeset -g POWERLEVEL9K_YAZI_FOREGROUND=3 # Custom icon. diff --git a/config/p10k-lean.zsh b/config/p10k-lean.zsh index 7674f2c5..8c724090 100644 --- a/config/p10k-lean.zsh +++ b/config/p10k-lean.zsh @@ -721,7 +721,7 @@ # Custom icon. # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' - ######################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]################### + ####################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]##################### # Yazi shell color. typeset -g POWERLEVEL9K_YAZI_FOREGROUND=178 # Custom icon. diff --git a/config/p10k-rainbow.zsh b/config/p10k-rainbow.zsh index 325f9879..65f07c96 100644 --- a/config/p10k-rainbow.zsh +++ b/config/p10k-rainbow.zsh @@ -749,7 +749,7 @@ # Custom icon. # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' - ######################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]################### + ####################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]##################### # Yazi shell color. typeset -g POWERLEVEL9K_YAZI_FOREGROUND=3 typeset -g POWERLEVEL9K_YAZI_BACKGROUND=0 @@ -843,6 +843,8 @@ # Text and color for insert vi mode. typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING= typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=8 + # Custom icon. + # typeset -g POWERLEVEL9K_VI_MODE_VISUAL_IDENTIFIER_EXPANSION='⭐' ######################################[ ram: free RAM ]####################################### # RAM color. diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 976d695a..2804bb26 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -9472,7 +9472,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.20.1 +typeset -g P9K_VERSION=1.20.2 unset VSCODE_SHELL_INTEGRATION _p9k_init_ssh From 17cd9e354a283edeb657d340e1bbc0a30de5f967 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Thu, 15 Feb 2024 15:32:29 +0100 Subject: [PATCH 14/66] when looking for .fvm/flutter_sdk, require that the last segment is a symlink rather than .fvm (#2573) --- internal/p10k.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 2804bb26..f2ab0e69 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -1314,7 +1314,7 @@ function _p9k_fvm_old() { } function _p9k_fvm_new() { - _p9k_upglob .fvm @ && return 1 + _p9k_upglob .fvm/flutter_sdk @ && return 1 local sdk=$_p9k__parent_dirs[$?]/.fvm/flutter_sdk if [[ ${sdk:A} == (#b)*/versions/([^/]##) ]]; then _p9k_prompt_segment prompt_fvm blue $_p9k_color1 FLUTTER_ICON 0 '' ${match[1]//\%/%%} @@ -9472,7 +9472,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.20.2 +typeset -g P9K_VERSION=1.20.3 unset VSCODE_SHELL_INTEGRATION _p9k_init_ssh From 9e3418d319b1700c768b5c3c94c73ec70351ab09 Mon Sep 17 00:00:00 2001 From: Adam Schumacher Date: Sat, 17 Feb 2024 21:26:53 -0500 Subject: [PATCH 15/66] Detect rpi os based on apt source --- internal/p10k.zsh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index f2ab0e69..5a52a3a1 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -8627,8 +8627,13 @@ function _p9k_init_cacheable() { *arch*) _p9k_set_os Linux LINUX_ARCH_ICON;; *debian*) _p9k_set_os Linux LINUX_DEBIAN_ICON;; *raspbian*) _p9k_set_os Linux LINUX_RASPBIAN_ICON;; - *ubuntu*) _p9k_set_os Linux LINUX_UBUNTU_ICON;; - *elementary*) _p9k_set_os Linux LINUX_ELEMENTARY_ICON;; + *debian*) + if [[ -f /etc/apt/sources.list.d/raspi.list ]]; then + _p9k_set_os Linux LINUX_RASPBIAN_ICON + else + _p9k_set_os Linux LINUX_RASPBIAN_ICON + fi + ;; *elementary*) _p9k_set_os Linux LINUX_ELEMENTARY_ICON;; *fedora*) _p9k_set_os Linux LINUX_FEDORA_ICON;; *coreos*) _p9k_set_os Linux LINUX_COREOS_ICON;; *kali*) _p9k_set_os Linux LINUX_KALI_ICON;; From 12e0592ac8f1d017b2dc7183b7720d98d8e41ed4 Mon Sep 17 00:00:00 2001 From: Adam Schumacher Date: Sat, 17 Feb 2024 21:29:14 -0500 Subject: [PATCH 16/66] Still keep debian --- internal/p10k.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 5a52a3a1..e941eebb 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -8631,7 +8631,7 @@ function _p9k_init_cacheable() { if [[ -f /etc/apt/sources.list.d/raspi.list ]]; then _p9k_set_os Linux LINUX_RASPBIAN_ICON else - _p9k_set_os Linux LINUX_RASPBIAN_ICON + _p9k_set_os Linux LINUX_DEBIAN_ICON fi ;; *elementary*) _p9k_set_os Linux LINUX_ELEMENTARY_ICON;; *fedora*) _p9k_set_os Linux LINUX_FEDORA_ICON;; From bfbc65e63d071220dfbdb708bbde859ac7c64184 Mon Sep 17 00:00:00 2001 From: Adam Schumacher Date: Sat, 17 Feb 2024 21:38:10 -0500 Subject: [PATCH 17/66] whitespace --- internal/p10k.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index e941eebb..c14db837 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -8633,7 +8633,8 @@ function _p9k_init_cacheable() { else _p9k_set_os Linux LINUX_DEBIAN_ICON fi - ;; *elementary*) _p9k_set_os Linux LINUX_ELEMENTARY_ICON;; + ;; + *elementary*) _p9k_set_os Linux LINUX_ELEMENTARY_ICON;; *fedora*) _p9k_set_os Linux LINUX_FEDORA_ICON;; *coreos*) _p9k_set_os Linux LINUX_COREOS_ICON;; *kali*) _p9k_set_os Linux LINUX_KALI_ICON;; From 31d99b694c97107a3db5ee4a8c33ab1308bff107 Mon Sep 17 00:00:00 2001 From: Adam Schumacher Date: Sat, 17 Feb 2024 22:15:53 -0500 Subject: [PATCH 18/66] Fix in wizard.zsh --- internal/p10k.zsh | 1 - internal/wizard.zsh | 9 ++++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index c14db837..776e3fb5 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -8625,7 +8625,6 @@ function _p9k_init_cacheable() { fi case $os_release_id in *arch*) _p9k_set_os Linux LINUX_ARCH_ICON;; - *debian*) _p9k_set_os Linux LINUX_DEBIAN_ICON;; *raspbian*) _p9k_set_os Linux LINUX_RASPBIAN_ICON;; *debian*) if [[ -f /etc/apt/sources.list.d/raspi.list ]]; then diff --git a/internal/wizard.zsh b/internal/wizard.zsh index 2714eec2..3b854b3b 100644 --- a/internal/wizard.zsh +++ b/internal/wizard.zsh @@ -1132,7 +1132,14 @@ function os_icon_name() { fi case $os_release_id in *arch*) echo LINUX_ARCH_ICON;; - *debian*) echo LINUX_DEBIAN_ICON;; + *raspbian*) echo LINUX_RASPBIAN_ICON;; + *debian*) + if [[ -f /etc/apt/sources.list.d/raspi.list ]]; then + echo LINUX_RASPBIAN_ICON + else + echo LINUX_DEBIAN_ICON + fi + ;; *raspbian*) echo LINUX_RASPBIAN_ICON;; *ubuntu*) echo LINUX_UBUNTU_ICON;; *elementary*) echo LINUX_ELEMENTARY_ICON;; From bb16e366c3f7d68f73fa9129f3593524ff6420ac Mon Sep 17 00:00:00 2001 From: Adam Schumacher Date: Sat, 17 Feb 2024 22:17:50 -0500 Subject: [PATCH 19/66] Undelete ubuntu. I shouldn't code this tired. --- internal/p10k.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 776e3fb5..1811061a 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -8633,6 +8633,7 @@ function _p9k_init_cacheable() { _p9k_set_os Linux LINUX_DEBIAN_ICON fi ;; + *ubuntu*) _p9k_set_os Linux LINUX_UBUNTU_ICON;; *elementary*) _p9k_set_os Linux LINUX_ELEMENTARY_ICON;; *fedora*) _p9k_set_os Linux LINUX_FEDORA_ICON;; *coreos*) _p9k_set_os Linux LINUX_COREOS_ICON;; From b973805f019cb9a4ecb1ccdf8879d89eb2b1b111 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Sun, 18 Feb 2024 17:18:59 +0100 Subject: [PATCH 20/66] cleanup and bump version (#2576) --- internal/p10k.zsh | 4 ++-- internal/wizard.zsh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 1811061a..d42501df 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -8632,7 +8632,7 @@ function _p9k_init_cacheable() { else _p9k_set_os Linux LINUX_DEBIAN_ICON fi - ;; + ;; *ubuntu*) _p9k_set_os Linux LINUX_UBUNTU_ICON;; *elementary*) _p9k_set_os Linux LINUX_ELEMENTARY_ICON;; *fedora*) _p9k_set_os Linux LINUX_FEDORA_ICON;; @@ -9478,7 +9478,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.20.3 +typeset -g P9K_VERSION=1.20.4 unset VSCODE_SHELL_INTEGRATION _p9k_init_ssh diff --git a/internal/wizard.zsh b/internal/wizard.zsh index 3b854b3b..09459203 100644 --- a/internal/wizard.zsh +++ b/internal/wizard.zsh @@ -1139,7 +1139,7 @@ function os_icon_name() { else echo LINUX_DEBIAN_ICON fi - ;; + ;; *raspbian*) echo LINUX_RASPBIAN_ICON;; *ubuntu*) echo LINUX_UBUNTU_ICON;; *elementary*) echo LINUX_ELEMENTARY_ICON;; From 0cc19ac2ede35fd8accff590fa71df580dc7e109 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Fri, 23 Feb 2024 06:03:55 +0100 Subject: [PATCH 21/66] use nf-md-redhat as the RHEL logo when on nerdfont-v3 (#2583) --- internal/icons.zsh | 2 +- internal/p10k.zsh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/icons.zsh b/internal/icons.zsh index ec5b8721..d34b2c0e 100644 --- a/internal/icons.zsh +++ b/internal/icons.zsh @@ -539,7 +539,7 @@ function _p9k_init_icons() { LINUX_ARTIX_ICON '\UF31F'$s #  LINUX_UBUNTU_ICON '\uF31b'$s #  LINUX_KALI_ICON '\uF327'$s #  - LINUX_RHEL_ICON '\uF316'$s #  + LINUX_RHEL_ICON '\UF111B'$s # 󱄛 LINUX_AMZN_ICON '\uF270'$s #  LINUX_ENDEAVOUROS_ICON '\UF322'$s #  LINUX_ROCKY_ICON '\UF32B'$s #  diff --git a/internal/p10k.zsh b/internal/p10k.zsh index d42501df..64e08c47 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -9478,7 +9478,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.20.4 +typeset -g P9K_VERSION=1.20.5 unset VSCODE_SHELL_INTEGRATION _p9k_init_ssh From d39e4268355f7a10f7758982db2a59e485d2659a Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Tue, 12 Mar 2024 08:07:40 +0100 Subject: [PATCH 22/66] docs: mention sessions in the font instructions for MobaXterm (#2599) --- README.md | 4 +++- font.md | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 76b0a422..b05d2ab1 100644 --- a/README.md +++ b/README.md @@ -685,7 +685,9 @@ If you are using a different terminal, proceed with manual font installation. tab, uncheck *Use the system fixed width font* (if not already) and select `MesloLGS NF Regular`. Exit the Preferences dialog by clicking *Close*. - **MobaXterm**: Open *Settings* → *Configuration* → *Terminal* → (under *Terminal look and feel*) - and change *Font* to `MesloLGS NF`. + and change *Font* to `MesloLGS NF`. If you have *sessions*, you need to change the font in each + of them through *Settings* → right click on an individual session → *Edit Session* → *Terminal + Settings* → *Font settings*. - **Asbrú Connection Manager**: Open *Preferences → Local Shell Options → Look and Feel*, enable *Use these personal options* and change *Font:* under *Terminal UI* to `MesloLGS NF Regular`. To change the font for the remote host connections, go to *Preferences → Terminal Options → diff --git a/font.md b/font.md index c80df910..d025bde0 100644 --- a/font.md +++ b/font.md @@ -70,7 +70,9 @@ If you are using a different terminal, proceed with manual font installation. tab, uncheck *Use the system fixed width font* (if not already) and select `MesloLGS NF Regular`. Exit the Preferences dialog by clicking *Close*. - **MobaXterm**: Open *Settings* → *Configuration* → *Terminal* → (under *Terminal look and feel*) - and change *Font* to `MesloLGS NF`. + and change *Font* to `MesloLGS NF`. If you have *sessions*, you need to change the font in each + of them through *Settings* → right click on an individual session → *Edit Session* → *Terminal + Settings* → *Font settings*. - **Asbrú Connection Manager**: Open *Preferences → Local Shell Options → Look and Feel*, enable *Use these personal options* and change *Font:* under *Terminal UI* to `MesloLGS NF Regular`. To change the font for the remote host connections, go to *Preferences → Terminal Options → From 0fdca5b1e606cc9ab083d2f41262fa10adcbfb21 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Sat, 16 Mar 2024 13:40:56 +0100 Subject: [PATCH 23/66] always offer the flat heads option in the wizard (#2600) --- internal/wizard.zsh | 55 +++++++++++++++++++++------------------------ 1 file changed, 26 insertions(+), 29 deletions(-) diff --git a/internal/wizard.zsh b/internal/wizard.zsh index 09459203..630051f4 100644 --- a/internal/wizard.zsh +++ b/internal/wizard.zsh @@ -1289,54 +1289,51 @@ function ask_heads() { fi local extra add_widget 0 flowing -c "%BPrompt Heads%b" - if (( cap_diamond )); then - add_widget 0 print -Pl " head" "%B(1) Sharp.%b |" " v" - add_widget 3 print -P "%B(1) Sharp.%b" - add_prompt_n left_head=$right_triangle right_head=$left_triangle - add_widget 0 print - add_widget 2 - else - add_widget 0 print - add_widget 1 - add_widget 0 print -P "%B(1) Flat.%b" - add_prompt left_head= right_head= - fi + add_widget 0 print -Pl " head" "%B(1) Flat.%b |" " v" + add_widget 3 print -P "%B(1) Flat.%b" + add_prompt_n left_head= right_head= + add_widget 0 print + add_widget 2 add_widget 0 print -P "%B(2) Blurred.%b" add_prompt left_head=$fade_out right_head=$fade_in - if [[ $POWERLEVEL9K_MODE == nerdfont-* ]]; then + if (( cap_diamond )); then extra+=3 - add_widget 0 print -P "%B(3) Slanted.%b" - add_prompt left_head=$down_triangle right_head=$up_triangle - extra+=4 - add_widget 0 print -P "%B(4) Round.%b" - add_prompt left_head=$right_circle right_head=$left_circle + add_widget 0 print -P "%B(3) Sharp.%b" + add_prompt left_head=$right_triangle right_head=$left_triangle + if [[ $POWERLEVEL9K_MODE == nerdfont-* ]]; then + extra+=4 + add_widget 0 print -P "%B(4) Slanted.%b" + add_prompt left_head=$down_triangle right_head=$up_triangle + extra+=5 + add_widget 0 print -P "%B(5) Round.%b" + add_prompt left_head=$right_circle right_head=$left_circle + fi fi add_widget 0 print -P "(r) Restart from the beginning." ask 12${extra}r case $choice in r) return 1;; 1) - if (( cap_diamond )); then - left_head=$right_triangle - right_head=$left_triangle - options+='sharp heads' - else - left_head= - right_head= - options+='flat heads' - fi + left_head= + right_head= + options+='flat heads' ;; 2) + left_head=$right_triangle + right_head=$left_triangle + options+='sharp heads' + ;; + 3) left_head=$fade_out right_head=$fade_in options+='blurred heads' ;; - 3) + 4) left_head=$down_triangle right_head=$up_triangle options+='slanted heads' ;; - 4) + 5) left_head=$right_circle right_head=$left_circle options+='round heads' From 6836bfe2da51bf32472b67df062347cfc4b1952e Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Sat, 16 Mar 2024 16:03:55 +0100 Subject: [PATCH 24/66] fix heads in the wizard (#2605) fixed on the phone, hence the dumb diff --- internal/wizard.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/wizard.zsh b/internal/wizard.zsh index 630051f4..1840962f 100644 --- a/internal/wizard.zsh +++ b/internal/wizard.zsh @@ -1318,12 +1318,12 @@ function ask_heads() { right_head= options+='flat heads' ;; - 2) + 3) left_head=$right_triangle right_head=$left_triangle options+='sharp heads' ;; - 3) + 2) left_head=$fade_out right_head=$fade_in options+='blurred heads' From 07a971d310821fd50ef91281543ff8fa446bd76c Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 18 Mar 2024 13:25:39 +0100 Subject: [PATCH 25/66] remove `DISABLE_UPDATE_PROMPT=true` from instant prompt If this breaks your shell, it means you are using an old version of oh-my-zsh, which predates this commit: https://github.com/ohmyzsh/ohmyzsh/commit/fe0dd8226d6f58ea98f9f84b279e6c3859993fb9 You need to upgrade oh-my-zsh by running the following command: omz update --- internal/p10k.zsh | 1 - 1 file changed, 1 deletion(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 64e08c47..c443674f 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -6515,7 +6515,6 @@ _p9k_dump_instant_prompt() { } zshexit_functions=(_p9k_instant_prompt_cleanup $zshexit_functions) precmd_functions=(_p9k_instant_prompt_precmd_first $precmd_functions) - DISABLE_UPDATE_PROMPT=true } && unsetopt prompt_cr prompt_sp && typeset -gi __p9k_instant_prompt_sourced='$__p9k_instant_prompt_version' || typeset -gi __p9k_instant_prompt_sourced=${__p9k_instant_prompt_sourced:-0}' } always { From 93d074a82bcf5ac3dfe50b53b483381b8e330e01 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 18 Mar 2024 15:40:38 +0100 Subject: [PATCH 26/66] add p10k-deactivate-instant-prompt Function p10k-deactivate-instant-prompt is defined when and only when instant prompt is active. Invoking it erases and deactivates instant prompt. --- internal/p10k.zsh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index c443674f..c0f1918c 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -6467,6 +6467,12 @@ _p9k_dump_instant_prompt() { exec {__p9k_fd_0}<&0 {__p9k_fd_1}>&1 {__p9k_fd_2}>&2 0<&$fd_null 1>$__p9k_instant_prompt_output exec 2>&1 {fd_null}>&- typeset -gi __p9k_instant_prompt_active=1 + function p10k-deactivate-instant-prompt() { + '$__p9k_intro_no_locale' + _p9k_clear_instant_prompt + builtin unset __p9k_instant_prompt_active + builtin unfunction p10k-deactivate-instant-prompt + } if (( _z4h_can_save_restore_screen == 1 )); then typeset -g _z4h_saved_screen -z4h-save-screen @@ -6479,6 +6485,7 @@ _p9k_dump_instant_prompt() { (( ZSH_SUBSHELL == 0 && ${+__p9k_instant_prompt_active} )) || return 0 '$__p9k_intro_no_locale' unset __p9k_instant_prompt_active + (( $+functions[p10k-deactivate-instant-prompt] )) && unfunction p10k-deactivate-instant-prompt exec 0<&$__p9k_fd_0 1>&$__p9k_fd_1 2>&$__p9k_fd_2 {__p9k_fd_0}>&- {__p9k_fd_1}>&- {__p9k_fd_2}>&- unset __p9k_fd_0 __p9k_fd_1 __p9k_fd_2 typeset -gi __p9k_instant_prompt_erased=1 @@ -6906,10 +6913,7 @@ function _p9k_on_expand() { (( _p9k__fully_initialized )) || _p9k_wrap_widgets fi - if (( $+__p9k_instant_prompt_active )); then - _p9k_clear_instant_prompt - unset __p9k_instant_prompt_active - fi + (( $+functions[p10k-deactivate-instant-prompt] )) && p10k-deactivate-instant-prompt if (( ! _p9k__expanded )); then _p9k__expanded=1 @@ -6981,8 +6985,7 @@ _p9k_precmd_impl() { _p9k_can_configure -q local -i ret=$? if (( ret == 2 && $+__p9k_instant_prompt_active )); then - _p9k_clear_instant_prompt - unset __p9k_instant_prompt_active + p10k-deactivate-instant-prompt _p9k_delete_instant_prompt zf_rm -f -- $__p9k_dump_file{,.zwc} 2>/dev/null () { @@ -9437,10 +9440,7 @@ function p10k() { return 1 ;; clear-instant-prompt) - if (( $+__p9k_instant_prompt_active )); then - _p9k_clear_instant_prompt - unset __p9k_instant_prompt_active - fi + (( $+functions[p10k-deactivate-instant-prompt] )) && p10k-deactivate-instant-prompt return 0 ;; *) @@ -9477,7 +9477,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.20.5 +typeset -g P9K_VERSION=1.20.6 unset VSCODE_SHELL_INTEGRATION _p9k_init_ssh From a3f7dabcae10f30f9cac402a4c4265c70be16846 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 18 Mar 2024 15:46:27 +0100 Subject: [PATCH 27/66] cleanup --- internal/wizard.zsh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/wizard.zsh b/internal/wizard.zsh index 1840962f..f20a7af1 100644 --- a/internal/wizard.zsh +++ b/internal/wizard.zsh @@ -1318,16 +1318,16 @@ function ask_heads() { right_head= options+='flat heads' ;; - 3) - left_head=$right_triangle - right_head=$left_triangle - options+='sharp heads' - ;; 2) left_head=$fade_out right_head=$fade_in options+='blurred heads' ;; + 3) + left_head=$right_triangle + right_head=$left_triangle + options+='sharp heads' + ;; 4) left_head=$down_triangle right_head=$up_triangle From 50794faba46cc695ec6dc168793db08a50ea811b Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 18 Mar 2024 16:21:07 +0100 Subject: [PATCH 28/66] Revert "add p10k-deactivate-instant-prompt" This reverts commit 93d074a82bcf5ac3dfe50b53b483381b8e330e01. --- internal/p10k.zsh | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index c0f1918c..c443674f 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -6467,12 +6467,6 @@ _p9k_dump_instant_prompt() { exec {__p9k_fd_0}<&0 {__p9k_fd_1}>&1 {__p9k_fd_2}>&2 0<&$fd_null 1>$__p9k_instant_prompt_output exec 2>&1 {fd_null}>&- typeset -gi __p9k_instant_prompt_active=1 - function p10k-deactivate-instant-prompt() { - '$__p9k_intro_no_locale' - _p9k_clear_instant_prompt - builtin unset __p9k_instant_prompt_active - builtin unfunction p10k-deactivate-instant-prompt - } if (( _z4h_can_save_restore_screen == 1 )); then typeset -g _z4h_saved_screen -z4h-save-screen @@ -6485,7 +6479,6 @@ _p9k_dump_instant_prompt() { (( ZSH_SUBSHELL == 0 && ${+__p9k_instant_prompt_active} )) || return 0 '$__p9k_intro_no_locale' unset __p9k_instant_prompt_active - (( $+functions[p10k-deactivate-instant-prompt] )) && unfunction p10k-deactivate-instant-prompt exec 0<&$__p9k_fd_0 1>&$__p9k_fd_1 2>&$__p9k_fd_2 {__p9k_fd_0}>&- {__p9k_fd_1}>&- {__p9k_fd_2}>&- unset __p9k_fd_0 __p9k_fd_1 __p9k_fd_2 typeset -gi __p9k_instant_prompt_erased=1 @@ -6913,7 +6906,10 @@ function _p9k_on_expand() { (( _p9k__fully_initialized )) || _p9k_wrap_widgets fi - (( $+functions[p10k-deactivate-instant-prompt] )) && p10k-deactivate-instant-prompt + if (( $+__p9k_instant_prompt_active )); then + _p9k_clear_instant_prompt + unset __p9k_instant_prompt_active + fi if (( ! _p9k__expanded )); then _p9k__expanded=1 @@ -6985,7 +6981,8 @@ _p9k_precmd_impl() { _p9k_can_configure -q local -i ret=$? if (( ret == 2 && $+__p9k_instant_prompt_active )); then - p10k-deactivate-instant-prompt + _p9k_clear_instant_prompt + unset __p9k_instant_prompt_active _p9k_delete_instant_prompt zf_rm -f -- $__p9k_dump_file{,.zwc} 2>/dev/null () { @@ -9440,7 +9437,10 @@ function p10k() { return 1 ;; clear-instant-prompt) - (( $+functions[p10k-deactivate-instant-prompt] )) && p10k-deactivate-instant-prompt + if (( $+__p9k_instant_prompt_active )); then + _p9k_clear_instant_prompt + unset __p9k_instant_prompt_active + fi return 0 ;; *) @@ -9477,7 +9477,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.20.6 +typeset -g P9K_VERSION=1.20.5 unset VSCODE_SHELL_INTEGRATION _p9k_init_ssh From 55c8f74c386b2cf54d3ca914cd451e22342e8d8a Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 18 Mar 2024 16:21:24 +0100 Subject: [PATCH 29/66] Revert "remove `DISABLE_UPDATE_PROMPT=true` from instant prompt" This reverts commit 07a971d310821fd50ef91281543ff8fa446bd76c. --- internal/p10k.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index c443674f..64e08c47 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -6515,6 +6515,7 @@ _p9k_dump_instant_prompt() { } zshexit_functions=(_p9k_instant_prompt_cleanup $zshexit_functions) precmd_functions=(_p9k_instant_prompt_precmd_first $precmd_functions) + DISABLE_UPDATE_PROMPT=true } && unsetopt prompt_cr prompt_sp && typeset -gi __p9k_instant_prompt_sourced='$__p9k_instant_prompt_version' || typeset -gi __p9k_instant_prompt_sourced=${__p9k_instant_prompt_sourced:-0}' } always { From a7f13e420e8bc929dcd7f1dc719f7b632fd5356c Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 18 Mar 2024 16:21:57 +0100 Subject: [PATCH 30/66] bump version --- internal/p10k.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 64e08c47..48eab915 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -9478,7 +9478,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.20.5 +typeset -g P9K_VERSION=1.20.7 unset VSCODE_SHELL_INTEGRATION _p9k_init_ssh From 45627c528b4e3d8949a1e5c72ee3fe7cac516d8d Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 18 Mar 2024 16:53:55 +0100 Subject: [PATCH 31/66] Squashed 'gitstatus/' changes from 215063d4..62177e89 62177e89 build: drop -Werror git-subtree-dir: gitstatus git-subtree-split: 62177e89b2b04baf242cd1526cc2661041dda0fb --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index fede08af..adb20e9d 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ VERSION ?= $(shell . ./build.info && printf "%s" "$$gitstatus_version") # # Sized delete is implemented as __ZdlPvm in /usr/lib/libc++.1.dylib but this symbol is # missing in macOS prior to 10.13. -CXXFLAGS += -std=c++14 -funsigned-char -O3 -DNDEBUG -DGITSTATUS_VERSION=$(VERSION) -Wall -Werror # -g -fsanitize=thread +CXXFLAGS += -std=c++14 -funsigned-char -O3 -DNDEBUG -DGITSTATUS_VERSION=$(VERSION) -Wall # -g -fsanitize=thread LDFLAGS += -pthread # -fsanitize=thread LDLIBS += -lgit2 # -lprofiler -lunwind From da9b03777c4f2390c7e3f5c720ee4689336f811b Mon Sep 17 00:00:00 2001 From: Mohammad Al Zouabi Date: Tue, 19 Mar 2024 16:13:16 +0800 Subject: [PATCH 32/66] remove duplicate POWERLEVEL9K_DIR_SHOW_WRITABLE from p10k-lean-8colors.zsh (#2610) --- config/p10k-lean-8colors.zsh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/config/p10k-lean-8colors.zsh b/config/p10k-lean-8colors.zsh index 593c3239..d60b6c9d 100644 --- a/config/p10k-lean-8colors.zsh +++ b/config/p10k-lean-8colors.zsh @@ -277,10 +277,6 @@ # the full directory that was used in previous commands. typeset -g POWERLEVEL9K_DIR_HYPERLINK=false - # Enable special styling for non-writable directories. See POWERLEVEL9K_LOCK_ICON and - # POWERLEVEL9K_DIR_CLASSES below. - typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v2 - # Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON # and POWERLEVEL9K_DIR_CLASSES below. typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3 From d6a0fed1d9b2ff8746d1535eb6c7e83bfe0df093 Mon Sep 17 00:00:00 2001 From: Hodei Navarro Date: Fri, 5 Apr 2024 19:59:32 +0200 Subject: [PATCH 33/66] Ease regex pattern when reading pyenv.cfg prompt value This commit provides support for virtualenv-like pyenv.cfg configuration files, where the `prompt` value is a plain text rather than a quoted string. Before the commit, `prompt = My custom prompt` would not match the regex, returning a fallback of the $VIRTUAL_ENV directory name. After the commit, both venv-like `prompt = 'My custom prompt'` and virtualenv-like `prompt = My custom prompt` are supported. Closes #2628 --- internal/p10k.zsh | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 48eab915..2d05a727 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -4260,18 +4260,23 @@ function _p9k_parse_virtualenv_cfg() { typeset -ga reply=(0) [[ -f $1 && -r $1 ]] || return - local cfg - cfg=$(<$1) || return + local line res="" + while IFS= read -r line; do + if [[ "$line" =~ '^prompt[[:space:]]*=[[:space:]]*(.*)' ]]; then + res="${match[1]}" + break + fi + done < "$1" + + # Return if res is empty, meaning no match was found + [[ -z "$res" ]] && return - local -a match mbegin mend - [[ $'\n'$cfg$'\n' == (#b)*$'\n'prompt[$' \t']#=[$' \t']#([^$' \t']#)[$' \t']#$'\n'* ]] || return - local res=$match[1] if [[ $res == (\"*\"|\'*\') ]]; then # The string is quoted in python style, which isn't the same as quoting in zsh. # For example, the literal 'foo"\'bar' denotes foo"'bar in python but in zsh # it is malformed. # - # We cheat a bit and impelement not exactly correct unquoting. It may produce + # We cheat a bit and implement not exactly correct unquoting. It may produce # different visual results but won't perform unintended expansions or bleed out # any escape sequences. # From aeff1153d405ebc9f60d4a8cb7afce5451c07358 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Fri, 5 Apr 2024 20:42:59 +0200 Subject: [PATCH 34/66] handle unquoted `prompt` when parsing pyenv.cfg --- internal/p10k.zsh | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 2d05a727..dbad3275 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -4260,23 +4260,18 @@ function _p9k_parse_virtualenv_cfg() { typeset -ga reply=(0) [[ -f $1 && -r $1 ]] || return - local line res="" - while IFS= read -r line; do - if [[ "$line" =~ '^prompt[[:space:]]*=[[:space:]]*(.*)' ]]; then - res="${match[1]}" - break - fi - done < "$1" - - # Return if res is empty, meaning no match was found - [[ -z "$res" ]] && return + local cfg + cfg=$(<$1) || return + local -a match mbegin mend + [[ $'\n'$cfg$'\n' == (#b)*$'\n'prompt[$' \t']#=([^$'\n']#)$'\n'* ]] || return + local res=${${match[1]##[$' \t']#}%%[$' \t']#} if [[ $res == (\"*\"|\'*\') ]]; then # The string is quoted in python style, which isn't the same as quoting in zsh. # For example, the literal 'foo"\'bar' denotes foo"'bar in python but in zsh # it is malformed. # - # We cheat a bit and implement not exactly correct unquoting. It may produce + # We cheat a bit and impelement not exactly correct unquoting. It may produce # different visual results but won't perform unintended expansions or bleed out # any escape sequences. # @@ -9483,7 +9478,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.20.7 +typeset -g P9K_VERSION=1.20.8 unset VSCODE_SHELL_INTEGRATION _p9k_init_ssh From bcef7cafdf3005a3d59335df618f89474ef4dd8b Mon Sep 17 00:00:00 2001 From: Alexander Blum Date: Sun, 7 Apr 2024 15:58:13 +0000 Subject: [PATCH 35/66] fixes taskwarrior init data for taskwarrior v3 (#2635) --- internal/p10k.zsh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index dbad3275..6e25ad0c 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -5234,7 +5234,10 @@ function _p9k_taskwarrior_check_data() { } function _p9k_taskwarrior_init_data() { - local -a stat files=($_p9k_taskwarrior_data_dir/{pending,completed}.data) + local -a stat files=( + $_p9k_taskwarrior_data_dir/{pending,completed}.data + $_p9k_taskwarrior_data_dir/taskchampion.sqlite3 + ) _p9k_taskwarrior_data_files=($^files(N)) _p9k_taskwarrior_data_non_files=(${files:|_p9k_taskwarrior_data_files}) if (( $#_p9k_taskwarrior_data_files )); then From 178fcda3487afb3bd540d784cf472c60ec0de94a Mon Sep 17 00:00:00 2001 From: Alejandro Armas <58491232+mycroftsnm@users.noreply.github.com> Date: Tue, 9 Apr 2024 03:12:31 -0300 Subject: [PATCH 36/66] Update README.md Fix Typo (#2637) Removes the extra ')' in the yazi segment meaning --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b05d2ab1..8b8c5861 100644 --- a/README.md +++ b/README.md @@ -358,7 +358,7 @@ You can enable as many segments as you like. It won't slow down your prompt or Z | `pyenv` | python environment from [pyenv](https://github.com/pyenv/pyenv) | | `ram` | free RAM | | `ranger` | [ranger](https://github.com/ranger/ranger) shell | -| `yazi` | [yazi](https://github.com/sxyazi/yazi)) shell | +| `yazi` | [yazi](https://github.com/sxyazi/yazi) shell | | `rbenv` | ruby environment from [rbenv](https://github.com/rbenv/rbenv) | | `rust_version` | [rustc](https://www.rust-lang.org) version | | `rvm` | ruby environment from [rvm](https://rvm.io) | From 808ba80ab005cdb66be19d2c22695c9bab9747f3 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Tue, 23 Apr 2024 08:11:19 +0200 Subject: [PATCH 37/66] fail more gracefully on timewarrior v3.0.1 (#2648) --- internal/p10k.zsh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 6e25ad0c..344f8b35 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -5264,7 +5264,9 @@ function _p9k_taskwarrior_init_data() { local -a ts ts=($(command task +PENDING -OVERDUE list rc.verbose=nothing rc.color=0 rc._forcecolor=0 \ rc.report.list.labels= rc.report.list.columns=due.epoch /dev/null)) || ts=() - if (( $#ts )); then + # The second condition is a workaround for a bug in timewarrior v3.0.1. + # https://github.com/romkatv/powerlevel10k/issues/2648. + if (( $#ts && ! ${#${(@)ts:#(|-)<->(|.<->)}} )); then _p9k_taskwarrior_next_due=${${(on)ts}[1]} (( _p9k_taskwarrior_next_due > EPOCHSECONDS )) || _p9k_taskwarrior_next_due=$((EPOCHSECONDS+60)) fi From 01e3f0b4baeb499c63909e3caeaff575c79d51ce Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Tue, 23 Apr 2024 08:11:49 +0200 Subject: [PATCH 38/66] bump version --- internal/p10k.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 344f8b35..c1e1d4e7 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -5264,7 +5264,7 @@ function _p9k_taskwarrior_init_data() { local -a ts ts=($(command task +PENDING -OVERDUE list rc.verbose=nothing rc.color=0 rc._forcecolor=0 \ rc.report.list.labels= rc.report.list.columns=due.epoch /dev/null)) || ts=() - # The second condition is a workaround for a bug in timewarrior v3.0.1. + # The second condition is a workaround for a bug in taskwarrior v3.0.1. # https://github.com/romkatv/powerlevel10k/issues/2648. if (( $#ts && ! ${#${(@)ts:#(|-)<->(|.<->)}} )); then _p9k_taskwarrior_next_due=${${(on)ts}[1]} @@ -9483,7 +9483,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.20.8 +typeset -g P9K_VERSION=1.20.9 unset VSCODE_SHELL_INTEGRATION _p9k_init_ssh From b28d68f44b42f25703673fac514d0777f0af9d8a Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Thu, 25 Apr 2024 12:13:02 +0200 Subject: [PATCH 39/66] allow ~/.timewarrior to be a symbolic link (#2603) --- internal/p10k.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index c1e1d4e7..0ea81791 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -5125,7 +5125,7 @@ function _p9k_timewarrior_clear() { function prompt_timewarrior() { local dir - [[ -n ${dir::=$TIMEWARRIORDB} || -n ${dir::=~/.timewarrior}(#qN/) ]] || + [[ -n ${dir::=$TIMEWARRIORDB} || -n ${dir::=~/.timewarrior}(#q-/N) ]] || dir=${XDG_DATA_HOME:-~/.local/share}/timewarrior dir+=/data local -a stat @@ -9483,7 +9483,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.20.9 +typeset -g P9K_VERSION=1.20.10 unset VSCODE_SHELL_INTEGRATION _p9k_init_ssh From 3395c828b27f2cf528b3cec6e48f97a986c5f086 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 6 May 2024 08:37:53 +0200 Subject: [PATCH 40/66] docs: mention that vscode terminal does not respect foreground colors chosen by the user by default --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index 8b8c5861..ebdc521d 100644 --- a/README.md +++ b/README.md @@ -1342,6 +1342,12 @@ typeset -g POWERLEVEL9K_TIME_FOREGROUND='#FF0000' *Related:* - [Directory is difficult to see in prompt when using Rainbow style.]( #directory-is-difficult-to-see-in-prompt-when-using-rainbow-style) + - [Incorrect foreground color in VSCode Terminal.](#incorrect-foreground-color-in-vscode-terminal) + +By default, VSCode Terminal may arbitrarily replace the foreground color of your choice with a +different color. This behavior can be +[turned off](https://code.visualstudio.com/docs/terminal/appearance#_minimum-contrast-ratio) in +VSCode settings. ### Why does Powerlevel10k spawn extra processes? @@ -1531,6 +1537,7 @@ Powerlevel10k are released. This may change in the future but not soon. - [Transient prompt stops working after some time](#transient-prompt-stops-working-after-some-time) - [Cannot make Powerlevel10k work with my plugin manager](#cannot-make-powerlevel10k-work-with-my-plugin-manager) - [Directory is difficult to see in prompt when using Rainbow style](#directory-is-difficult-to-see-in-prompt-when-using-rainbow-style) +- [Incorrect foreground color in VSCode Terminal.](#incorrect-foreground-color-in-vscode-terminal) - [Horrific mess when resizing terminal window](#horrific-mess-when-resizing-terminal-window) - [Icons cut off in Konsole](#icons-cut-off-in-konsole) - [Arch Linux logo has a dot in the bottom right corner](#arch-linux-logo-has-a-dot-in-the-bottom-right-corner) @@ -1874,6 +1881,15 @@ There are several ways to fix this. `POWERLEVEL9K_DIR_ANCHOR_FOREGROUND` and `POWERLEVEL9K_DIR_ANCHOR_BOLD`. You can find them in `~/.p10k.zsh`. +*Related*: [Incorrect foreground color in VSCode Terminal.](#incorrect-foreground-color-in-vscode-terminal) + +### Incorrect foreground color in VSCode Terminal + +By default, VSCode Terminal may arbitrarily replace the foreground color of your choice with a +different color. This behavior can be +[turned off](https://code.visualstudio.com/docs/terminal/appearance#_minimum-contrast-ratio) in +VSCode settings. + ### Horrific mess when resizing terminal window When you resize a terminal window horizontally back and forth a few times, you might see this ugly From 16e58484262de745723ed114e09217094655eaaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elan=20Ruusam=C3=A4e?= Date: Tue, 7 May 2024 12:39:44 +0300 Subject: [PATCH 41/66] Doc: Use shorter readme link (#2671) Since it links to readme on default branch (permalink), can just omit that all making links shorter. --- config/p10k-classic.zsh | 4 ++-- config/p10k-lean-8colors.zsh | 4 ++-- config/p10k-lean.zsh | 4 ++-- config/p10k-pure.zsh | 2 +- config/p10k-rainbow.zsh | 4 ++-- config/p10k-robbyrussell.zsh | 2 +- internal/p10k.zsh | 8 ++++---- internal/wizard.zsh | 2 +- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/config/p10k-classic.zsh b/config/p10k-classic.zsh index bc957abe..d7be6722 100644 --- a/config/p10k-classic.zsh +++ b/config/p10k-classic.zsh @@ -1677,7 +1677,7 @@ # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job # is to generate the prompt segment for display in instant prompt. See - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # https://github.com/romkatv/powerlevel10k#instant-prompt. # # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k @@ -1713,7 +1713,7 @@ # it incompatible with your zsh configuration files. # - quiet: Enable instant prompt and don't print warnings when detecting console output # during zsh initialization. Choose this if you've read and understood - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # https://github.com/romkatv/powerlevel10k#instant-prompt. # - verbose: Enable instant prompt and print a warning when detecting console output during # zsh initialization. Choose this if you've never tried instant prompt, haven't # seen the warning, or if you are unsure what this all means. diff --git a/config/p10k-lean-8colors.zsh b/config/p10k-lean-8colors.zsh index d60b6c9d..bf469df7 100644 --- a/config/p10k-lean-8colors.zsh +++ b/config/p10k-lean-8colors.zsh @@ -1652,7 +1652,7 @@ # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job # is to generate the prompt segment for display in instant prompt. See - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # https://github.com/romkatv/powerlevel10k#instant-prompt. # # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k @@ -1688,7 +1688,7 @@ # it incompatible with your zsh configuration files. # - quiet: Enable instant prompt and don't print warnings when detecting console output # during zsh initialization. Choose this if you've read and understood - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # https://github.com/romkatv/powerlevel10k#instant-prompt. # - verbose: Enable instant prompt and print a warning when detecting console output during # zsh initialization. Choose this if you've never tried instant prompt, haven't # seen the warning, or if you are unsure what this all means. diff --git a/config/p10k-lean.zsh b/config/p10k-lean.zsh index 8c724090..1595a377 100644 --- a/config/p10k-lean.zsh +++ b/config/p10k-lean.zsh @@ -1652,7 +1652,7 @@ # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job # is to generate the prompt segment for display in instant prompt. See - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # https://github.com/romkatv/powerlevel10k#instant-prompt. # # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k @@ -1688,7 +1688,7 @@ # it incompatible with your zsh configuration files. # - quiet: Enable instant prompt and don't print warnings when detecting console output # during zsh initialization. Choose this if you've read and understood - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # https://github.com/romkatv/powerlevel10k#instant-prompt. # - verbose: Enable instant prompt and print a warning when detecting console output during # zsh initialization. Choose this if you've never tried instant prompt, haven't # seen the warning, or if you are unsure what this all means. diff --git a/config/p10k-pure.zsh b/config/p10k-pure.zsh index 97c1a207..7a4d2441 100644 --- a/config/p10k-pure.zsh +++ b/config/p10k-pure.zsh @@ -169,7 +169,7 @@ # it incompatible with your zsh configuration files. # - quiet: Enable instant prompt and don't print warnings when detecting console output # during zsh initialization. Choose this if you've read and understood - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # https://github.com/romkatv/powerlevel10k#instant-prompt. # - verbose: Enable instant prompt and print a warning when detecting console output during # zsh initialization. Choose this if you've never tried instant prompt, haven't # seen the warning, or if you are unsure what this all means. diff --git a/config/p10k-rainbow.zsh b/config/p10k-rainbow.zsh index 65f07c96..355ee9bb 100644 --- a/config/p10k-rainbow.zsh +++ b/config/p10k-rainbow.zsh @@ -1774,7 +1774,7 @@ # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job # is to generate the prompt segment for display in instant prompt. See - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # https://github.com/romkatv/powerlevel10k#instant-prompt. # # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k @@ -1811,7 +1811,7 @@ # it incompatible with your zsh configuration files. # - quiet: Enable instant prompt and don't print warnings when detecting console output # during zsh initialization. Choose this if you've read and understood - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # https://github.com/romkatv/powerlevel10k#instant-prompt. # - verbose: Enable instant prompt and print a warning when detecting console output during # zsh initialization. Choose this if you've never tried instant prompt, haven't # seen the warning, or if you are unsure what this all means. diff --git a/config/p10k-robbyrussell.zsh b/config/p10k-robbyrussell.zsh index a59e222b..6a204d29 100644 --- a/config/p10k-robbyrussell.zsh +++ b/config/p10k-robbyrussell.zsh @@ -87,7 +87,7 @@ # it incompatible with your zsh configuration files. # - quiet: Enable instant prompt and don't print warnings when detecting console output # during zsh initialization. Choose this if you've read and understood - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # https://github.com/romkatv/powerlevel10k#instant-prompt. # - verbose: Enable instant prompt and print a warning when detecting console output during # zsh initialization. Choose this if you've never tried instant prompt, haven't # seen the warning, or if you are unsure what this all means. diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 0ea81791..d2d261b2 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -6740,9 +6740,9 @@ function _p9k_clear_instant_prompt() { echo -E - "" echo -E - "${(%):-For details, see:}" if (( _p9k_term_has_href )); then - echo - "${(%):-\e]8;;https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt\ahttps://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt\e]8;;\a}" + echo - "${(%):-\e]8;;https://github.com/romkatv/powerlevel10k#instant-prompt\ahttps://github.com/romkatv/powerlevel10k#instant-prompt\e]8;;\a}" else - echo - "${(%):-https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt}" + echo - "${(%):-https://github.com/romkatv/powerlevel10k#instant-prompt}" fi echo -E - "" echo - "${(%):-%3F-- console output produced during zsh initialization follows --%f}" @@ -9007,9 +9007,9 @@ _p9k_init() { >&2 echo -E - "" >&2 echo -E - "${(%):- - %BRecommended%b: Change the way Powerlevel10k is loaded from %B$__p9k_zshrc_u%b.}" if (( _p9k_term_has_href )); then - >&2 echo - "${(%):- See \e]8;;https://github.com/romkatv/powerlevel10k/blob/master/README.md#installation\ahttps://github.com/romkatv/powerlevel10k/blob/master/README.md#installation\e]8;;\a.}" + >&2 echo - "${(%):- See \e]8;;https://github.com/romkatv/powerlevel10k#installation\ahttps://github.com/romkatv/powerlevel10k#installation\e]8;;\a.}" else - >&2 echo - "${(%):- See https://github.com/romkatv/powerlevel10k/blob/master/README.md#installation.}" + >&2 echo - "${(%):- See https://github.com/romkatv/powerlevel10k#installation.}" fi if (( $+zsh_defer_options )); then >&2 echo -E - "" diff --git a/internal/wizard.zsh b/internal/wizard.zsh index f20a7af1..de416794 100644 --- a/internal/wizard.zsh +++ b/internal/wizard.zsh @@ -1506,7 +1506,7 @@ function ask_empty_line() { } function print_instant_prompt_link() { - local link='https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt' + local link='https://github.com/romkatv/powerlevel10k#instant-prompt' (( wizard_columns < $#link )) && return print flowing -c "$(href $link)" From bde5ca4c2aa6e0c52dd7f15cf216dffdb1ec788c Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Tue, 21 May 2024 20:26:39 +0200 Subject: [PATCH 42/66] docs: the project is on life support --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index ebdc521d..70f68869 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,11 @@ [![Gitter](https://badges.gitter.im/powerlevel10k/community.svg)]( https://gitter.im/powerlevel10k/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) +- **THE PROJECT HAS VERY LIMITED SUPPORT** +- **NO NEW FEATURES ARE IN THE WORKS** +- **MOST BUGS WILL GO UNFIXED** +- **HELP REQUESTS WILL BE IGNORED** + Powerlevel10k is a theme for Zsh. It emphasizes [speed](#uncompromising-performance), [flexibility](#extremely-customizable) and [out-of-the-box experience](#configuration-wizard). From df8ed163438c1989da4daeb4174bfcb30abb285e Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Fri, 28 Jun 2024 08:06:46 +0200 Subject: [PATCH 43/66] wizard: prefer POWERLEVEL9K_MODE=nerdfont-v3 over nerdfont-complete" The preference for nerdfont-complete was necessitated by a bug in Windows Terminal that has since been fixed. This reverts commit b474978b2e9435c10ca66f8281352ebc825264f4. wizard: prefer POWERLEVEL9K_MODE=nerdfont-complete over nerdfont-v3 See the reverted commit for details on the Windows Terminal bug. --- internal/wizard.zsh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/internal/wizard.zsh b/internal/wizard.zsh index de416794..8d20675c 100644 --- a/internal/wizard.zsh +++ b/internal/wizard.zsh @@ -2142,16 +2142,16 @@ while true; do elif (( ! cap_diamond )); then POWERLEVEL9K_MODE=awesome-fontconfig else - ask_arrow '\uFC35' || continue + ask_arrow '\UF0737' || continue if (( cap_arrow )); then - POWERLEVEL9K_MODE=nerdfont-complete + ask_width || continue + fi + if (( cap_arrow )); then + POWERLEVEL9K_MODE=nerdfont-v3 else - ask_arrow '\UF0737' "Let's try another one." || continue + ask_arrow '\uFC35' "Let's try another one." || continue if (( cap_arrow )); then - ask_width || continue - fi - if (( cap_arrow )); then - POWERLEVEL9K_MODE=nerdfont-v3 + POWERLEVEL9K_MODE=nerdfont-complete else POWERLEVEL9K_MODE=awesome-fontconfig ask_python || continue From 4a2ef610ef893b47a539327195050adb50cbaf06 Mon Sep 17 00:00:00 2001 From: Eli Weiss Date: Sun, 30 Jun 2024 10:01:00 -0400 Subject: [PATCH 44/66] Add instructions on setting Conemu font Add instructions on setting font to MesloLGS NF in Conemu --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 70f68869..884cb21f 100644 --- a/README.md +++ b/README.md @@ -675,6 +675,7 @@ If you are using a different terminal, proceed with manual font installation. - **Windows Terminal** by Microsoft (the new thing): Open *Settings* (Ctrl+,), click either on the selected profile under *Profiles* or on *Defaults*, click *Appearance* and set *Font face* to `MesloLGS NF`. + - **Conemu**: Open *Setup → General → Fonts* and set *Main console font* to `MesloLGS NF`. - **IntelliJ** (and other IDEs by Jet Brains): Open *IDE → Edit → Preferences → Editor → Color Scheme → Console Font*. Select *Use console font instead of the default* and set the font name to `MesloLGS NF`. From 2b7da93df04acd04d84f5de827e5b14077839a4b Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 1 Jul 2024 08:34:13 +0200 Subject: [PATCH 45/66] docs: fixup for #2718 --- font.md | 1 + 1 file changed, 1 insertion(+) diff --git a/font.md b/font.md index d025bde0..7a7cb005 100644 --- a/font.md +++ b/font.md @@ -55,6 +55,7 @@ If you are using a different terminal, proceed with manual font installation. - **Windows Terminal** by Microsoft (the new thing): Open *Settings* (Ctrl+,), click either on the selected profile under *Profiles* or on *Defaults*, click *Appearance* and set *Font face* to `MesloLGS NF`. + - **Conemu**: Open *Setup → General → Fonts* and set *Main console font* to `MesloLGS NF`. - **IntelliJ** (and other IDEs by Jet Brains): Open *IDE → Edit → Preferences → Editor → Color Scheme → Console Font*. Select *Use console font instead of the default* and set the font name to `MesloLGS NF`. From 119e4039ef9068fa96490a90c559e7594843ec22 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Sat, 17 Aug 2024 09:34:01 +0200 Subject: [PATCH 46/66] force shell integration when running under vscode integrated terminal with shell integration enabled --- internal/p10k.zsh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index d2d261b2..fb724cff 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -9483,7 +9483,11 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.20.10 +typeset -g P9K_VERSION=1.20.11 + +if [[ ${VSCODE_SHELL_INTEGRATION-} == <1-> && ${+__p9k_force_term_shell_integration} == 0 ]]; then + typeset -gri __p9k_force_term_shell_integration=1 +fi unset VSCODE_SHELL_INTEGRATION _p9k_init_ssh From a42e374e25226d2032a38b38fc544ec1d65b0d01 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Sat, 17 Aug 2024 09:47:06 +0200 Subject: [PATCH 47/66] add cmdline_url to 133;C when KITTY_SHELL_INTEGRATION is defined --- internal/p10k.zsh | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index fb724cff..f45293be 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -5812,7 +5812,7 @@ _p9k_preexec2() { typeset -g _p9k__preexec_cmd=$2 _p9k__timer_start=EPOCHREALTIME P9K_TTY=old - (( ! $+_p9k__iterm_cmd )) || _p9k_iterm2_preexec + (( ! $+_p9k__iterm_cmd )) || _p9k_iterm2_preexec "$1" } function _p9k_prompt_net_iface_init() { @@ -8877,7 +8877,17 @@ function _p9k_iterm2_precmd() { } function _p9k_iterm2_preexec() { - [[ -t 1 ]] && builtin print -n '\e]133;C;\a' + if [[ -t 1 ]]; then + if (( ${+__p9k_use_osc133_c_cmdline} )); then + () { + emulate -L zsh -o extended_glob -o no_multibyte + local MATCH MBEGIN MEND + builtin printf '\e]133;C;cmdline_url=%s\a' "${1//(#m)[^a-zA-Z0-9"\/:_.-!'()~"]/%${(l:2::0:)$(([##16]#MATCH))}}" + } "$1" + else + builtin print -n '\e]133;C;\a' + fi + fi typeset -gi _p9k__iterm_cmd=2 } @@ -9082,6 +9092,7 @@ _p9k_precmd_first() { if [[ -n $KITTY_SHELL_INTEGRATION && KITTY_SHELL_INTEGRATION[(wIe)no-prompt-mark] -eq 0 ]]; then KITTY_SHELL_INTEGRATION+=' no-prompt-mark' (( $+__p9k_force_term_shell_integration )) || typeset -gri __p9k_force_term_shell_integration=1 + (( $+__p9k_use_osc133_c_cmdline )) || typeset -gri __p9k_use_osc133_c_cmdline=1 elif [[ $TERM_PROGRAM == WarpTerminal ]]; then (( $+__p9k_force_term_shell_integration )) || typeset -gri __p9k_force_term_shell_integration=1 fi @@ -9483,7 +9494,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.20.11 +typeset -g P9K_VERSION=1.20.12 if [[ ${VSCODE_SHELL_INTEGRATION-} == <1-> && ${+__p9k_force_term_shell_integration} == 0 ]]; then typeset -gri __p9k_force_term_shell_integration=1 From c30068c1f1ee28c13a761648072e708b56ae2535 Mon Sep 17 00:00:00 2001 From: Oleksii Kyslytsia Date: Thu, 5 Sep 2024 13:22:34 +0300 Subject: [PATCH 48/66] docs: Add instructions for setting MesloLGS NF font in Deepin Terminal --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 884cb21f..0f2cc6bf 100644 --- a/README.md +++ b/README.md @@ -779,6 +779,14 @@ If you are using a different terminal, proceed with manual font installation. font-style: italic; } ``` + - **Deepin Terminal**: Open `~/.config/deepin/deepin-terminal/config.conf` and set `basic.interface.font` to `"MesloLGS NF"`. + ```ini + [basic.interface.font] + value="MesloLGS NF" + + [basic.interface.font_size] + value=10 + ``` **_CAVEAT_**: If you open the normal terminal preferences these settings will be overwritten. 1. Run `p10k configure` to generate a new `~/.p10k.zsh`. The old config may work incorrectly with the new font. From d71edb83f9c7f045a0d528eeff3445ec3d518d71 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Thu, 5 Sep 2024 12:37:49 +0200 Subject: [PATCH 49/66] docs: fix font instructions for deepin terminal and copy them over to font.md (#2752) --- README.md | 10 ++++------ font.md | 6 ++++++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 0f2cc6bf..3c255207 100644 --- a/README.md +++ b/README.md @@ -779,15 +779,13 @@ If you are using a different terminal, proceed with manual font installation. font-style: italic; } ``` - - **Deepin Terminal**: Open `~/.config/deepin/deepin-terminal/config.conf` and set `basic.interface.font` to `"MesloLGS NF"`. + **_CAVEAT_**: If you open the normal terminal preferences these settings will be overwritten. + - **Deepin Terminal**: Create or open `~/.config/deepin/deepin-terminal/config.conf` and add the following section + to it: ```ini [basic.interface.font] - value="MesloLGS NF" - - [basic.interface.font_size] - value=10 + value = "MesloLGS NF" ``` - **_CAVEAT_**: If you open the normal terminal preferences these settings will be overwritten. 1. Run `p10k configure` to generate a new `~/.p10k.zsh`. The old config may work incorrectly with the new font. diff --git a/font.md b/font.md index 7a7cb005..7f0f0572 100644 --- a/font.md +++ b/font.md @@ -160,6 +160,12 @@ If you are using a different terminal, proceed with manual font installation. } ``` **_CAVEAT_**: If you open the normal terminal preferences these settings will be overwritten. + - **Deepin Terminal**: Create or open `~/.config/deepin/deepin-terminal/config.conf` and add the following section + to it: + ```ini + [basic.interface.font] + value = "MesloLGS NF" + ``` 1. Run `p10k configure` to generate a new `~/.p10k.zsh`. The old config may work incorrectly with the new font. From edf38f964e3c5babf86642acf7a875fae88f4b5a Mon Sep 17 00:00:00 2001 From: Daphne Pfister Date: Tue, 17 Sep 2024 00:47:40 -0400 Subject: [PATCH 50/66] Add AlmaLinux icon --- internal/icons.zsh | 7 +++++++ internal/p10k.zsh | 1 + internal/wizard.zsh | 1 + 3 files changed, 9 insertions(+) diff --git a/internal/icons.zsh b/internal/icons.zsh index d34b2c0e..b774360c 100644 --- a/internal/icons.zsh +++ b/internal/icons.zsh @@ -74,6 +74,7 @@ function _p9k_init_icons() { LINUX_AMZN_ICON '\uE271'$s #  LINUX_ENDEAVOUROS_ICON '\uE271'$s #  LINUX_ROCKY_ICON '\uE271'$s #  + LINUX_ALMALINUX_ICON '\uE271'$s #  LINUX_GUIX_ICON '\uE271'$s #  LINUX_NEON_ICON '\uE271'$s #  SUNOS_ICON '\U1F31E'$q # 🌞 @@ -232,6 +233,7 @@ function _p9k_init_icons() { LINUX_AMZN_ICON '\uF17C'$s #  LINUX_ENDEAVOUROS_ICON '\uF17C'$s #  LINUX_ROCKY_ICON '\uF17C'$s #  + LINUX_ALMALINUX_ICON '\uF17C'$s #  LINUX_GUIX_ICON '\uF17C'$s #  LINUX_NEON_ICON '\uF17C'$s #  SUNOS_ICON '\uF185 ' #  @@ -391,6 +393,7 @@ function _p9k_init_icons() { LINUX_AMZN_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}" LINUX_ENDEAVOUROS_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}" LINUX_ROCKY_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}" + LINUX_ALMALINUX_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}" LINUX_GUIX_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}" LINUX_NEON_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}" SUNOS_ICON "${CODEPOINT_OF_AWESOME_SUN_O:+\\u$CODEPOINT_OF_AWESOME_SUN_O }" @@ -543,6 +546,7 @@ function _p9k_init_icons() { LINUX_AMZN_ICON '\uF270'$s #  LINUX_ENDEAVOUROS_ICON '\UF322'$s #  LINUX_ROCKY_ICON '\UF32B'$s #  + LINUX_ALMALINUX_ICON '\UF31D'$s #  LINUX_GUIX_ICON '\UF325'$s #  LINUX_NEON_ICON '\uF17C' #  LINUX_ICON '\uF17C' #  @@ -703,6 +707,7 @@ function _p9k_init_icons() { LINUX_AMZN_ICON '\uF270'$s #  LINUX_ENDEAVOUROS_ICON '\uF17C' #  LINUX_ROCKY_ICON '\uF17C' #  + LINUX_ALMALINUX_ICON '\uF17C' #  LINUX_GUIX_ICON '\uF325'$s #  LINUX_NEON_ICON '\uF17C' #  LINUX_ICON '\uF17C' #  @@ -856,6 +861,7 @@ function _p9k_init_icons() { LINUX_AMZN_ICON 'amzn' LINUX_ENDEAVOUROS_ICON 'edvos' LINUX_ROCKY_ICON 'rocky' + LINUX_ALMALINUX_ICON 'almalinux' LINUX_GUIX_ICON 'guix' LINUX_NEON_ICON 'neon' SUNOS_ICON 'sunos' @@ -1010,6 +1016,7 @@ function _p9k_init_icons() { LINUX_AMZN_ICON 'Amzn' LINUX_ENDEAVOUROS_ICON 'Edv' LINUX_ROCKY_ICON 'Roc' + LINUX_ALMALINUX_ICON 'Alma' LINUX_GUIX_ICON 'Guix' LINUX_NEON_ICON 'Neon' SUNOS_ICON 'Sun' diff --git a/internal/p10k.zsh b/internal/p10k.zsh index f45293be..571e7de8 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -8661,6 +8661,7 @@ function _p9k_init_cacheable() { amzn) _p9k_set_os Linux LINUX_AMZN_ICON;; endeavouros) _p9k_set_os Linux LINUX_ENDEAVOUROS_ICON;; rocky) _p9k_set_os Linux LINUX_ROCKY_ICON;; + almalinux) _p9k_set_os Linux LINUX_ALMALINUX_ICON;; guix) _p9k_set_os Linux LINUX_GUIX_ICON;; neon) _p9k_set_os Linux LINUX_NEON_ICON;; *) _p9k_set_os Linux LINUX_ICON;; diff --git a/internal/wizard.zsh b/internal/wizard.zsh index 8d20675c..5ae58002 100644 --- a/internal/wizard.zsh +++ b/internal/wizard.zsh @@ -1164,6 +1164,7 @@ function os_icon_name() { amzn) echo LINUX_AMZN_ICON;; endeavouros) echo LINUX_ENDEAVOUROS_ICON;; rocky) echo LINUX_ROCKY_ICON;; + almalinux) echo LINUX_ALMALINUX_ICON;; guix) echo LINUX_GUIX_ICON;; neon) echo LINUX_NEON_ICON;; *) echo LINUX_ICON;; From 087405df7838f4c3e835025699bd7b98b9731acc Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Tue, 17 Sep 2024 14:10:20 +0200 Subject: [PATCH 51/66] minor cleanup (#2758) --- internal/icons.zsh | 2 +- internal/p10k.zsh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/icons.zsh b/internal/icons.zsh index b774360c..1d1cafbb 100644 --- a/internal/icons.zsh +++ b/internal/icons.zsh @@ -861,7 +861,7 @@ function _p9k_init_icons() { LINUX_AMZN_ICON 'amzn' LINUX_ENDEAVOUROS_ICON 'edvos' LINUX_ROCKY_ICON 'rocky' - LINUX_ALMALINUX_ICON 'almalinux' + LINUX_ALMALINUX_ICON 'alma' LINUX_GUIX_ICON 'guix' LINUX_NEON_ICON 'neon' SUNOS_ICON 'sunos' diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 571e7de8..65d67c13 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -9495,7 +9495,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.20.12 +typeset -g P9K_VERSION=1.20.13 if [[ ${VSCODE_SHELL_INTEGRATION-} == <1-> && ${+__p9k_force_term_shell_integration} == 0 ]]; then typeset -gri __p9k_force_term_shell_integration=1 From 140a6ade4e9d7431df697de4dfff04b353e219e2 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Thu, 3 Oct 2024 11:16:46 +0200 Subject: [PATCH 52/66] Squashed 'gitstatus/' changes from 62177e89..44504a24 44504a24 make: remove -Wall 8795883c Specify cmake generator in build file (#441) 3e08476b docs: the project is on life support 12e6a689 Add support to build e2k arch. (#432) a952c3f6 bump version to v1.5.5 git-subtree-dir: gitstatus git-subtree-split: 44504a24b1b999a4f56ff74c75b8215bdcadee1f --- Makefile | 2 +- README.md | 4 ++++ build | 13 ++++++++++++- build.info | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index adb20e9d..4a695acb 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ VERSION ?= $(shell . ./build.info && printf "%s" "$$gitstatus_version") # # Sized delete is implemented as __ZdlPvm in /usr/lib/libc++.1.dylib but this symbol is # missing in macOS prior to 10.13. -CXXFLAGS += -std=c++14 -funsigned-char -O3 -DNDEBUG -DGITSTATUS_VERSION=$(VERSION) -Wall # -g -fsanitize=thread +CXXFLAGS += -std=c++14 -funsigned-char -O3 -DNDEBUG -DGITSTATUS_VERSION=$(VERSION) # -Wall -g -fsanitize=thread LDFLAGS += -pthread # -fsanitize=thread LDLIBS += -lgit2 # -lprofiler -lunwind diff --git a/README.md b/README.md index a6631f63..609d5f82 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # gitstatus +- **THE PROJECT HAS VERY LIMITED SUPPORT** +- **NO NEW FEATURES ARE IN THE WORKS** +- **MOST BUGS WILL GO UNFIXED** + **gitstatus** is a 10x faster alternative to `git status` and `git describe`. Its primary use case is to enable fast git prompt in interactive shells. diff --git a/build b/build index e116abb2..ea96a25a 100755 --- a/build +++ b/build @@ -153,7 +153,16 @@ case "$gitstatus_cpu" in ;; esac -cflags="$archflag=$gitstatus_cpu -fno-plt -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fpie" +case "$gitstatus_arch" in + e2k) + nopltflag="" + ;; + *) + nopltflag="-fno-plt" + ;; +esac + +cflags="$archflag=$gitstatus_cpu $nopltflag -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fpie" ldflags= static_pie= @@ -384,6 +393,7 @@ CFLAGS="$libgit2_cflags" command cmake \ -DUSE_GSSAPI=OFF \ -DUSE_NTLMCLIENT=OFF \ -DBUILD_SHARED_LIBS=OFF \ + -G "Unix Makefiles" \ $libgit2_cmake_flags \ .. command make -j "$cpus" VERBOSE=1 @@ -545,6 +555,7 @@ if [ -z "$gitstatus_cpu" ]; then x86_64|amd64) gitstatus_cpu=x86-64;; x86) gitstatus_cpu=i586;; s390x) gitstatus_cpu=z900;; + e2k) gitstatus_cpu=native;; i386|i586|i686) gitstatus_cpu="$gitstatus_arch";; *) >&2 echo '[error] unable to infer target CPU architecture' diff --git a/build.info b/build.info index 9a4967e8..9bc9411d 100644 --- a/build.info +++ b/build.info @@ -3,7 +3,7 @@ # # This value is also read by shell bindings (indirectly, through # ./install) when using GITSTATUS_DAEMON or usrbin/gitstatusd. -gitstatus_version="v1.5.4" +gitstatus_version="v1.5.5" # libgit2 is a build time dependency of gitstatusd. The values of # libgit2_version and libgit2_sha256 are read by ./build. From 0996a9411824cbfe8fdd8cb17448c94ef891be34 Mon Sep 17 00:00:00 2001 From: Filipe Date: Fri, 4 Oct 2024 20:24:49 +1300 Subject: [PATCH 53/66] Support aws-sso-cli on AWS prompt element (#2769) Adds support for `aws-sso-cli` tool in AWS prompt element. https://github.com/synfinatic/aws-sso-cli Docs: https://synfinatic.github.io/aws-sso-cli/v1.17.0/commands/#managed-variables --- internal/p10k.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 65d67c13..0942c1c1 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -1179,7 +1179,7 @@ function _p9k_parse_aws_config() { ################################################################ # AWS Profile prompt_aws() { - typeset -g P9K_AWS_PROFILE="${AWS_VAULT:-${AWSUME_PROFILE:-${AWS_PROFILE:-$AWS_DEFAULT_PROFILE}}}" + typeset -g P9K_AWS_PROFILE="${AWS_SSO_PROFILE:-${AWS_VAULT:-${AWSUME_PROFILE:-${AWS_PROFILE:-$AWS_DEFAULT_PROFILE}}}}" local pat class state for pat class in "${_POWERLEVEL9K_AWS_CLASSES[@]}"; do if [[ $P9K_AWS_PROFILE == ${~pat} ]]; then From 3483f230a72a0cf2078f4874acb38b74d61dbecd Mon Sep 17 00:00:00 2001 From: QZCL Maintainer <168384680+qzcl-maintainer@users.noreply.github.com> Date: Mon, 14 Oct 2024 16:18:29 -0600 Subject: [PATCH 54/66] Updated README.md to include instructions to enable MesloLGS Terminal Font --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 3c255207..6c80c3c4 100644 --- a/README.md +++ b/README.md @@ -698,6 +698,8 @@ If you are using a different terminal, proceed with manual font installation. *Use these personal options* and change *Font:* under *Terminal UI* to `MesloLGS NF Regular`. To change the font for the remote host connections, go to *Preferences → Terminal Options → Look and Feel* and change *Font:* under *Terminal UI* to `MesloLGS NF Regular`. + - **Warp**: Open Warp and Navigate to *Settings* then *Appearance*. Scroll down to *Text* Section + and under *"Terminal Font"*, select the `MesloLGS NF` font. - **WSLtty**: Right click on an open terminal and then on *Options*. In the *Text* section, under *Font*, click *"Select..."* and set Font to `MesloLGS NF Regular`. - **Yakuake**: Click *≡* → *Manage Profiles* → *New* → *Appearance*. Click *Choose* next to the From 67a365b9dbf2c784ca8e655d681df10ef2d4a1a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?E=CC=81ric=20NICOLAS?= Date: Fri, 25 Oct 2024 10:26:44 +0200 Subject: [PATCH 55/66] Let mise-configured ancestors be anchors (#2782) --- config/p10k-classic.zsh | 1 + config/p10k-lean-8colors.zsh | 1 + config/p10k-lean.zsh | 1 + config/p10k-rainbow.zsh | 1 + 4 files changed, 4 insertions(+) diff --git a/config/p10k-classic.zsh b/config/p10k-classic.zsh index d7be6722..623b9308 100644 --- a/config/p10k-classic.zsh +++ b/config/p10k-classic.zsh @@ -244,6 +244,7 @@ .perl-version .php-version .tool-versions + .mise.toml .shorten_folder_marker .svn .terraform diff --git a/config/p10k-lean-8colors.zsh b/config/p10k-lean-8colors.zsh index bf469df7..3f72ff4b 100644 --- a/config/p10k-lean-8colors.zsh +++ b/config/p10k-lean-8colors.zsh @@ -235,6 +235,7 @@ .perl-version .php-version .tool-versions + .mise.toml .shorten_folder_marker .svn .terraform diff --git a/config/p10k-lean.zsh b/config/p10k-lean.zsh index 1595a377..cef70fd8 100644 --- a/config/p10k-lean.zsh +++ b/config/p10k-lean.zsh @@ -235,6 +235,7 @@ .perl-version .php-version .tool-versions + .mise.toml .shorten_folder_marker .svn .terraform diff --git a/config/p10k-rainbow.zsh b/config/p10k-rainbow.zsh index 355ee9bb..ed74b7fa 100644 --- a/config/p10k-rainbow.zsh +++ b/config/p10k-rainbow.zsh @@ -244,6 +244,7 @@ .perl-version .php-version .tool-versions + .mise.toml .shorten_folder_marker .svn .terraform From 5e26473457d819fe148f7fff32db1082dae72012 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 28 Oct 2024 10:26:23 +0100 Subject: [PATCH 56/66] support cpu_arch on linux (#2776) --- internal/p10k.zsh | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 0942c1c1..839aa1f0 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -5752,15 +5752,19 @@ prompt_cpu_arch() { state=$_p9k__cache_val[1] text=$_p9k__cache_val[2] else - local cmd - for cmd in machine arch; do - (( $+commands[$cmd] )) || continue - if text=$(command -- $cmd) 2>/dev/null && [[ $text == [a-zA-Z][a-zA-Z0-9_]# ]]; then - break - else - text= - fi - done + if [[ -r /proc/sys/kernel/arch ]]; then + text=$(/dev/null && [[ $text == [a-zA-Z][a-zA-Z0-9_]# ]]; then + break + else + text= + fi + done + fi state=_${${(U)text}//İ/I} _p9k_cache_ephemeral_set "$state" "$text" fi @@ -9495,7 +9499,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.20.13 +typeset -g P9K_VERSION=1.20.14 if [[ ${VSCODE_SHELL_INTEGRATION-} == <1-> && ${+__p9k_force_term_shell_integration} == 0 ]]; then typeset -gri __p9k_force_term_shell_integration=1 From 8a331b82108dd5c5834cebdc0abbe778cc1a2735 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Mon, 28 Oct 2024 11:32:25 +0100 Subject: [PATCH 57/66] copy warp font instructions to font.md --- font.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/font.md b/font.md index 7f0f0572..54456668 100644 --- a/font.md +++ b/font.md @@ -78,6 +78,8 @@ If you are using a different terminal, proceed with manual font installation. *Use these personal options* and change *Font:* under *Terminal UI* to `MesloLGS NF Regular`. To change the font for the remote host connections, go to *Preferences → Terminal Options → Look and Feel* and change *Font:* under *Terminal UI* to `MesloLGS NF Regular`. + - **Warp**: Open Warp and Navigate to *Settings* then *Appearance*. Scroll down to *Text* Section + and under *"Terminal Font"*, select the `MesloLGS NF` font. - **WSLtty**: Right click on an open terminal and then on *Options*. In the *Text* section, under *Font*, click *"Select..."* and set Font to `MesloLGS NF Regular`. - **Yakuake**: Click *≡* → *Manage Profiles* → *New* → *Appearance*. Click *Choose* next to the From f2f01499744a57a7ae3828a788c05b1e99363f11 Mon Sep 17 00:00:00 2001 From: Mad Scientist <67949699+madscientist16@users.noreply.github.com> Date: Sun, 10 Nov 2024 08:49:37 +0000 Subject: [PATCH 58/66] Update README.md (#2788) --- README.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/README.md b/README.md index 6c80c3c4..d3a5e772 100644 --- a/README.md +++ b/README.md @@ -536,11 +536,6 @@ echo 'source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme' >>~/.zs [zsh-theme-powerlevel10k-git](https://aur.archlinux.org/packages/zsh-theme-powerlevel10k-git/) referenced above is the official Powerlevel10k package. -There is also [zsh-theme-powerlevel10k]( - https://www.archlinux.org/packages/extra/x86_64/zsh-theme-powerlevel10k/) package. -Historically, [it has been breaking often and for extended periods of time]( - https://github.com/romkatv/powerlevel10k/pull/786). **Do not use it.** - ### Alpine Linux ```zsh From ef83e13c22cf8641f7ab2d50cd1338d01bb31cd2 Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Fri, 15 Nov 2024 07:10:47 +0100 Subject: [PATCH 59/66] docs: expand on what setting ZSH_THEME involves --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d3a5e772..1b45e155 100644 --- a/README.md +++ b/README.md @@ -463,7 +463,7 @@ make sure to disable the current theme in your plugin manager. See ```zsh git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k ``` -2. Set `ZSH_THEME="powerlevel10k/powerlevel10k"` in `~/.zshrc`. +2. Open `~/.zshrc`, find the line that sets `ZSH_THEME`, and change its value to `"powerlevel10k/powerlevel10k"`. ### Prezto From c187964ad3edf6ba45d2cedad40bb3e460696876 Mon Sep 17 00:00:00 2001 From: Cesar William Alvarenga Date: Sat, 28 Dec 2024 22:29:05 -0800 Subject: [PATCH 60/66] Update font.md with the font configuration for Ghostty terminal --- font.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/font.md b/font.md index 54456668..cadeca6f 100644 --- a/font.md +++ b/font.md @@ -168,6 +168,11 @@ If you are using a different terminal, proceed with manual font installation. [basic.interface.font] value = "MesloLGS NF" ``` + - **Ghostty**: Open *Menu → Open Configuration* (Linux) or + *Ghostty → Settings...* (Mac) and add the following line: + ```text + font-family = "MesloLGS NF" + ``` 1. Run `p10k configure` to generate a new `~/.p10k.zsh`. The old config may work incorrectly with the new font. From c85cd0f02844ff2176273a450c955b6532a185dc Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Sun, 29 Dec 2024 10:39:03 +0100 Subject: [PATCH 61/66] docs: reformat font instructions for ghostty and copy them over to README.md (#2809) --- README.md | 5 +++++ font.md | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1b45e155..d95c46b6 100644 --- a/README.md +++ b/README.md @@ -783,6 +783,11 @@ If you are using a different terminal, proceed with manual font installation. [basic.interface.font] value = "MesloLGS NF" ``` + - **Ghostty**: Open *Menu → Open Configuration* (Linux) or *Ghostty → Settings...* (Mac) and add + the following line: + ```text + font-family = "MesloLGS NF" + ``` 1. Run `p10k configure` to generate a new `~/.p10k.zsh`. The old config may work incorrectly with the new font. diff --git a/font.md b/font.md index cadeca6f..cb49af46 100644 --- a/font.md +++ b/font.md @@ -168,8 +168,8 @@ If you are using a different terminal, proceed with manual font installation. [basic.interface.font] value = "MesloLGS NF" ``` - - **Ghostty**: Open *Menu → Open Configuration* (Linux) or - *Ghostty → Settings...* (Mac) and add the following line: + - **Ghostty**: Open *Menu → Open Configuration* (Linux) or *Ghostty → Settings...* (Mac) and add + the following line: ```text font-family = "MesloLGS NF" ``` From 3e2053a9341fe4cf5ab69909d3f39d53b1dfe772 Mon Sep 17 00:00:00 2001 From: "Seyed Sajjad (Sina) Tak Tehrani" Date: Mon, 6 Jan 2025 12:24:25 +0100 Subject: [PATCH 62/66] fix(prompt): add support for AWS_SSO_PROFILE in AWS segment initialization (#2813) - Updated `_p9k_prompt_aws_init` to include `AWS_SSO_PROFILE` in the condition for activating the AWS segment. - Ensures compatibility with AWS SSO profiles in addition to other AWS environment variables. --- internal/p10k.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 839aa1f0..cd8978f2 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -1206,7 +1206,7 @@ prompt_aws() { } _p9k_prompt_aws_init() { - typeset -g "_p9k__segment_cond_${_p9k__prompt_side}[_p9k__segment_index]"='${AWS_VAULT:-${AWSUME_PROFILE:-${AWS_PROFILE:-$AWS_DEFAULT_PROFILE}}}' + typeset -g "_p9k__segment_cond_${_p9k__prompt_side}[_p9k__segment_index]"='${AWS_SSO_PROFILE:-${AWS_VAULT:-${AWSUME_PROFILE:-${AWS_PROFILE:-$AWS_DEFAULT_PROFILE}}}}' } ################################################################ From f3b05b4448799cfc960da7c664207bb08a10067f Mon Sep 17 00:00:00 2001 From: "Thomas D. Spear" Date: Wed, 22 Jan 2025 16:30:02 -0600 Subject: [PATCH 63/66] Fix word splitting issues in README.md Signed-off-by: Thomas D. Spear --- README.md | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index d95c46b6..98b9c7fb 100644 --- a/README.md +++ b/README.md @@ -455,13 +455,13 @@ make sure to disable the current theme in your plugin manager. See 1. Clone the repository: ```zsh - git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k + git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-"${HOME}/.oh-my-zsh/custom"}/themes/powerlevel10k" ``` Users in China can use the official mirror on gitee.com for faster download.
中国用户可以使用 gitee.com 上的官方镜像加速下载. ```zsh - git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k + git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-"${HOME}/.oh-my-zsh/custom"}/themes/powerlevel10k" ``` 2. Open `~/.zshrc`, find the line that sets `ZSH_THEME`, and change its value to `"powerlevel10k/powerlevel10k"`. @@ -523,7 +523,7 @@ Add `plug "romkatv/powerlevel10k"` to `~/.zshrc`. ```zsh brew install powerlevel10k -echo "source $(brew --prefix)/share/powerlevel10k/powerlevel10k.zsh-theme" >>~/.zshrc +echo "source \"$(brew --prefix)/share/powerlevel10k/powerlevel10k.zsh-theme\"" >>~/.zshrc ``` ### Arch Linux @@ -717,7 +717,7 @@ If you are using a different terminal, proceed with manual font installation. Restart kitty by closing all sessions and opening a new session. - **puTTY**: Set *Window* → *Appearance* → *Font* to `MesloLGS NF`. Requires puTTY version >= 0.75. - - **WezTerm**: Create or open `$HOME/.config/wezterm/wezterm.lua` and add the following: + - **WezTerm**: Create or open `"${HOME}/.config/wezterm/wezterm.lua"` and add the following: ```lua local wezterm = require 'wezterm'; return { @@ -857,7 +857,7 @@ The command to update Powerlevel10k depends on how it was installed. | Installation | Update command | |-------------------------------|-------------------------------------------------------------| | [Manual](#manual) | `git -C ~/powerlevel10k pull` | -| [Oh My Zsh](#oh-my-zsh) | `git -C ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k pull` | +| [Oh My Zsh](#oh-my-zsh) | `git -C "${ZSH_CUSTOM:-"${HOME}/.oh-my-zsh/custom"}/themes/powerlevel10k" pull` | | [Prezto](#prezto) | `zprezto-update` | | [Zim](#zim) | `zimfw update` | | [Antigen](#antigen) | `antigen update` | @@ -879,8 +879,8 @@ The command to update Powerlevel10k depends on how it was installed. 1. Remove all references to "p10k" from `~/.zshrc`. You might have this snippet at the top: ```zsh - if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then - source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" + if [[ -r "${XDG_CACHE_HOME:-"${HOME}/.cache"}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-"${HOME}/.cache"}/p10k-instant-prompt-${(%):-%n}.zsh" fi ``` And this at the bottom: @@ -911,7 +911,7 @@ The command to update Powerlevel10k depends on how it was installed. | Installation | Uninstall command | |-------------------------------|------------------------------------------------------------------| | [Manual](#manual) | `rm -rf ~/powerlevel10k` | - | [Oh My Zsh](#oh-my-zsh) | `rm -rf -- ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k` | + | [Oh My Zsh](#oh-my-zsh) | `rm -rf -- "${ZSH_CUSTOM:-"${HOME}/.oh-my-zsh/custom"}/themes/powerlevel10k"` | | [Prezto](#prezto) | n/a | | [Zim](#zim) | `zimfw uninstall` | | [Antigen](#antigen) | `antigen purge romkatv/powerlevel10k` | @@ -928,7 +928,7 @@ The command to update Powerlevel10k depends on how it was installed. 6. Restart Zsh. [Do not use `source ~/.zshrc`](#weird-things-happen-after-typing-source-zshrc). 7. Delete Powerlevel10k cache files. ```zsh - rm -rf -- "${XDG_CACHE_HOME:-$HOME/.cache}"/p10k-*(N) "${XDG_CACHE_HOME:-$HOME/.cache}"/gitstatus + rm -rf -- "${XDG_CACHE_HOME:-"${HOME}/.cache"}"/p10k-*(N) "${XDG_CACHE_HOME:-"${HOME}/.cache"}/gitstatus" ``` ### How do I install Powerlevel10k on a machine without Internet access? @@ -942,7 +942,7 @@ The command to update Powerlevel10k depends on how it was installed. ```sh target_uname="replace this with the output of the previous command" git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k - GITSTATUS_CACHE_DIR="$HOME"/powerlevel10k/gitstatus/usrbin ~/powerlevel10k/gitstatus/install -f -s "${target_uname% *}" -m "${target_uname#* }" + GITSTATUS_CACHE_DIR="${HOME}/powerlevel10k/gitstatus/usrbin" ~/powerlevel10k/gitstatus/install -f -s "${target_uname% *}" -m "${target_uname#* }" ``` 3. Copy `~/powerlevel10k` from the machine connected to the Internet to the one without Internet access. @@ -1003,7 +1003,7 @@ Powerlevel10k does not affect: 1. Run this command: ```zsh # Add powerlevel10k to the list of Oh My Zsh themes. -git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k +git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-"${HOME}/.oh-my-zsh/custom"}/themes/powerlevel10k" # Replace ZSH_THEME="powerlevel9k/powerlevel9k" with ZSH_THEME="powerlevel10k/powerlevel10k". sed -i.bak 's/powerlevel9k/powerlevel10k/g' ~/.zshrc # Restart Zsh. @@ -1039,8 +1039,8 @@ code snippet at the top of `~/.zshrc`: # Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. # Initialization code that may require console input (password prompts, [y/n] # confirmations, etc.) must go above this block; everything else may go below. -if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then - source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +if [[ -r "${XDG_CACHE_HOME:-"${HOME}/.cache"}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-"${HOME}/.cache"}/p10k-instant-prompt-${(%):-%n}.zsh" fi ``` @@ -1063,8 +1063,8 @@ the output, or move it above the instant prompt preamble. Here's an example of `~/.zshrc` that breaks when instant prompt is enabled: ```zsh -if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then - source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +if [[ -r "${XDG_CACHE_HOME:-"${HOME}/.cache"}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-"${HOME}/.cache"}/p10k-instant-prompt-${(%):-%n}.zsh" fi keychain id_rsa --agents ssh # asks for password @@ -1078,8 +1078,8 @@ Fixed version: keychain id_rsa --agents ssh # moved before instant prompt # OK to perform console I/O before this point. -if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then - source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +if [[ -r "${XDG_CACHE_HOME:-"${HOME}/.cache"}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-"${HOME}/.cache"}/p10k-instant-prompt-${(%):-%n}.zsh" fi # From this point on, until zsh is fully initialized, console input won't work and # console output may appear uncolored. @@ -1116,8 +1116,8 @@ If you've enabled [instant prompt](#instant-prompt), you should have these lines `~/.zshrc`: ```zsh -if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then - source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +if [[ -r "${XDG_CACHE_HOME:-"${HOME}/.cache"}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-"${HOME}/.cache"}/p10k-instant-prompt-${(%):-%n}.zsh" fi ``` @@ -1126,8 +1126,8 @@ To initialize direnv you need to add one line above that block and one line belo ```zsh (( ${+commands[direnv]} )) && emulate zsh -c "$(direnv export zsh)" -if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then - source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +if [[ -r "${XDG_CACHE_HOME:-"${HOME}/.cache"}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-"${HOME}/.cache"}/p10k-instant-prompt-${(%):-%n}.zsh" fi (( ${+commands[direnv]} )) && emulate zsh -c "$(direnv hook zsh)" @@ -1141,12 +1141,12 @@ fi You can export `GPG_TTY` like this anywhere in `~/.zshrc`: ```zsh -export GPG_TTY=$TTY +export GPG_TTY="${TTY}" ``` This works whether you are using [instant prompt](#instant-prompt) or not. It works even if you aren't using powerlevel10k. As an extra bonus, it's much faster than the commonly used -`export GPG_TTY=$(tty)`. +`export GPG_TTY="$(tty)"`. *Related*: [How do I initialize direnv when using instant prompt?]( #how-do-i-initialize-direnv-when-using-instant-prompt) @@ -1574,7 +1574,7 @@ When opening a terminal, or starting zsh manually, you may encounter this error - If `typeset -p P9K_VERSION` fails with the error `typeset: no such variable: P9K_VERSION`, run the following command: ```zsh - git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k + git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-"${HOME}/.oh-my-zsh/custom"}/themes/powerlevel10k" ``` 2. Restart Zsh with `exec zsh`. From eb487f836a9738aeef282e74fcc5bdc38c712ee5 Mon Sep 17 00:00:00 2001 From: "Thomas D. Spear" Date: Wed, 22 Jan 2025 16:30:02 -0600 Subject: [PATCH 64/66] Fix word splitting issues in README.md Signed-off-by: Thomas D. Spear --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d95c46b6..6296d04b 100644 --- a/README.md +++ b/README.md @@ -455,13 +455,13 @@ make sure to disable the current theme in your plugin manager. See 1. Clone the repository: ```zsh - git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k + git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k" ``` Users in China can use the official mirror on gitee.com for faster download.
中国用户可以使用 gitee.com 上的官方镜像加速下载. ```zsh - git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k + git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k" ``` 2. Open `~/.zshrc`, find the line that sets `ZSH_THEME`, and change its value to `"powerlevel10k/powerlevel10k"`. @@ -523,7 +523,7 @@ Add `plug "romkatv/powerlevel10k"` to `~/.zshrc`. ```zsh brew install powerlevel10k -echo "source $(brew --prefix)/share/powerlevel10k/powerlevel10k.zsh-theme" >>~/.zshrc +echo "source \"$(brew --prefix)/share/powerlevel10k/powerlevel10k.zsh-theme\"" >>~/.zshrc ``` ### Arch Linux @@ -717,7 +717,7 @@ If you are using a different terminal, proceed with manual font installation. Restart kitty by closing all sessions and opening a new session. - **puTTY**: Set *Window* → *Appearance* → *Font* to `MesloLGS NF`. Requires puTTY version >= 0.75. - - **WezTerm**: Create or open `$HOME/.config/wezterm/wezterm.lua` and add the following: + - **WezTerm**: Create or open `"$HOME/.config/wezterm/wezterm.lua"` and add the following: ```lua local wezterm = require 'wezterm'; return { @@ -857,7 +857,7 @@ The command to update Powerlevel10k depends on how it was installed. | Installation | Update command | |-------------------------------|-------------------------------------------------------------| | [Manual](#manual) | `git -C ~/powerlevel10k pull` | -| [Oh My Zsh](#oh-my-zsh) | `git -C ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k pull` | +| [Oh My Zsh](#oh-my-zsh) | `git -C "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k" pull` | | [Prezto](#prezto) | `zprezto-update` | | [Zim](#zim) | `zimfw update` | | [Antigen](#antigen) | `antigen update` | @@ -911,7 +911,7 @@ The command to update Powerlevel10k depends on how it was installed. | Installation | Uninstall command | |-------------------------------|------------------------------------------------------------------| | [Manual](#manual) | `rm -rf ~/powerlevel10k` | - | [Oh My Zsh](#oh-my-zsh) | `rm -rf -- ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k` | + | [Oh My Zsh](#oh-my-zsh) | `rm -rf -- "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"` | | [Prezto](#prezto) | n/a | | [Zim](#zim) | `zimfw uninstall` | | [Antigen](#antigen) | `antigen purge romkatv/powerlevel10k` | @@ -1003,7 +1003,7 @@ Powerlevel10k does not affect: 1. Run this command: ```zsh # Add powerlevel10k to the list of Oh My Zsh themes. -git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k +git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k" # Replace ZSH_THEME="powerlevel9k/powerlevel9k" with ZSH_THEME="powerlevel10k/powerlevel10k". sed -i.bak 's/powerlevel9k/powerlevel10k/g' ~/.zshrc # Restart Zsh. @@ -1574,7 +1574,7 @@ When opening a terminal, or starting zsh manually, you may encounter this error - If `typeset -p P9K_VERSION` fails with the error `typeset: no such variable: P9K_VERSION`, run the following command: ```zsh - git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k + git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k" ``` 2. Restart Zsh with `exec zsh`. From 8fa10f43a0f65a5e15417128be63e68e1d5b1f66 Mon Sep 17 00:00:00 2001 From: vladislav doster Date: Wed, 29 Jan 2025 07:28:19 -0600 Subject: [PATCH 65/66] fix(parser.zsh): `_p9k_parse_buffer` docstring typo (#2820) - `pupulates` => `populates` --- internal/parser.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/parser.zsh b/internal/parser.zsh index 6c16adcd..2af06e1c 100644 --- a/internal/parser.zsh +++ b/internal/parser.zsh @@ -102,7 +102,7 @@ typeset -grA __p9k_pb_term_skip=( # Usage: _p9k_parse_buffer [token-limit] # -# Parses the specified command line buffer and pupulates array P9K_COMMANDS +# Parses the specified command line buffer and populates array P9K_COMMANDS # with commands from it. Terminates early and returns 1 if there are more # tokens than the specified limit. # From 36f3045d69d1ba402db09d09eb12b42eebe0fa3b Mon Sep 17 00:00:00 2001 From: Roman Perepelitsa Date: Tue, 29 Apr 2025 15:00:25 +0200 Subject: [PATCH 66/66] disable nordvpn as it is broken after the last upstream update (#2860) --- internal/p10k.zsh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/p10k.zsh b/internal/p10k.zsh index cd8978f2..f73dd208 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -4918,6 +4918,10 @@ function _p9k_fetch_nordvpn_status() { # POWERLEVEL9K_NORDVPN_CONNECTING_CONTENT_EXPANSION='${P9K_NORDVPN_COUNTRY_CODE}' # POWERLEVEL9K_NORDVPN_CONNECTING_BACKGROUND=cyan function prompt_nordvpn() { + # This prompt segment is broken. See https://github.com/romkatv/powerlevel10k/issues/2860. + # It is disabled until it is fixed. + return + unset $__p9k_nordvpn_tag P9K_NORDVPN_COUNTRY_CODE [[ -e /run/nordvpn/nordvpnd.sock ]] || return _p9k_fetch_nordvpn_status 2>/dev/null || return @@ -9499,7 +9503,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null fi -typeset -g P9K_VERSION=1.20.14 +typeset -g P9K_VERSION=1.20.15 if [[ ${VSCODE_SHELL_INTEGRATION-} == <1-> && ${+__p9k_force_term_shell_integration} == 0 ]]; then typeset -gri __p9k_force_term_shell_integration=1