diff --git a/README.md b/README.md index 22c68d62..00b84cf3 100644 --- a/README.md +++ b/README.md @@ -658,6 +658,11 @@ If you are using a different terminal, proceed with manual font installation. https://raw.githubusercontent.com/romkatv/powerlevel10k-media/389133fb8c9a2347929a23702ce3039aacc46c3d/visual-studio-code-font-settings.jpg) to see how it should look like or see [this issue]( https://github.com/romkatv/powerlevel10k/issues/671) for extra information. + + Note that software installed via [Snap](https://en.wikipedia.org/wiki/Snap_\(software\)) is + unable to use system fonts. If you've install Visual Studio Code via Snap, remove it by running + `sudo snap remove code` and install the official `.deb` build from the + [Visual Studio Code website](https://code.visualstudio.com/Download). - **GNOME Terminal** (the default Ubuntu terminal): Open *Terminal → Preferences* and click on the selected profile under *Profiles*. Check *Custom font* under *Text Appearance* and select `MesloLGS NF Regular`. diff --git a/config/p10k-classic.zsh b/config/p10k-classic.zsh index 623b9308..e31705bd 100644 --- a/config/p10k-classic.zsh +++ b/config/p10k-classic.zsh @@ -1377,7 +1377,7 @@ #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# # Show aws only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show aws. - typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt' + typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|tofu|pulumi|terragrunt' # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element # in each pair defines a pattern against which the current AWS profile gets matched. @@ -1424,7 +1424,7 @@ ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## # Show azure only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show azure. - typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' + typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|tofu|pulumi|terragrunt' # POWERLEVEL9K_AZURE_CLASSES is an array with even number of elements. The first element # in each pair defines a pattern against which the current azure account name gets matched. @@ -1503,7 +1503,7 @@ #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# # Show google_app_cred only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show google_app_cred. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|tofu|pulumi|terragrunt' # Google application credentials classes for the purpose of using different colors, icons and # expansions with different credentials. diff --git a/config/p10k-lean-8colors.zsh b/config/p10k-lean-8colors.zsh index 3f72ff4b..3c0fecf8 100644 --- a/config/p10k-lean-8colors.zsh +++ b/config/p10k-lean-8colors.zsh @@ -1352,7 +1352,7 @@ #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# # Show aws only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show aws. - typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt' + typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|tofu|pulumi|terragrunt' # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element # in each pair defines a pattern against which the current AWS profile gets matched. @@ -1399,7 +1399,7 @@ ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## # Show azure only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show azure. - typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' + typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|tofu|pulumi|terragrunt' # POWERLEVEL9K_AZURE_CLASSES is an array with even number of elements. The first element # in each pair defines a pattern against which the current azure account name gets matched. @@ -1478,7 +1478,7 @@ #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# # Show google_app_cred only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show google_app_cred. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|tofu|pulumi|terragrunt' # Google application credentials classes for the purpose of using different colors, icons and # expansions with different credentials. diff --git a/config/p10k-lean.zsh b/config/p10k-lean.zsh index cef70fd8..a20e1318 100644 --- a/config/p10k-lean.zsh +++ b/config/p10k-lean.zsh @@ -1352,7 +1352,7 @@ #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# # Show aws only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show aws. - typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt' + typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|tofu|pulumi|terragrunt' # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element # in each pair defines a pattern against which the current AWS profile gets matched. @@ -1399,7 +1399,7 @@ ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## # Show azure only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show azure. - typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' + typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|tofu|pulumi|terragrunt' # POWERLEVEL9K_AZURE_CLASSES is an array with even number of elements. The first element # in each pair defines a pattern against which the current azure account name gets matched. @@ -1478,7 +1478,7 @@ #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# # Show google_app_cred only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show google_app_cred. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|tofu|pulumi|terragrunt' # Google application credentials classes for the purpose of using different colors, icons and # expansions with different credentials. diff --git a/config/p10k-rainbow.zsh b/config/p10k-rainbow.zsh index ed74b7fa..730ef196 100644 --- a/config/p10k-rainbow.zsh +++ b/config/p10k-rainbow.zsh @@ -1364,9 +1364,6 @@ # Custom icon. # typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - ################[ terraform_version: It shows active terraform version (https://www.terraform.io) ]################# - typeset -g POWERLEVEL9K_TERRAFORM_VERSION_SHOW_ON_COMMAND='terraform|tf' - #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# # Show kubecontext only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show kubecontext. @@ -1459,7 +1456,7 @@ #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# # Show aws only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show aws. - typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt' + typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|tofu|pulumi|terragrunt' # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element # in each pair defines a pattern against which the current AWS profile gets matched. @@ -1508,7 +1505,7 @@ ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## # Show azure only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show azure. - typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' + typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|tofu|pulumi|terragrunt' # POWERLEVEL9K_AZURE_CLASSES is an array with even number of elements. The first element # in each pair defines a pattern against which the current azure account name gets matched. @@ -1590,7 +1587,7 @@ #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# # Show google_app_cred only when the command you are typing invokes one of these tools. # Tip: Remove the next line to always show google_app_cred. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|tofu|pulumi|terragrunt' # Google application credentials classes for the purpose of using different colors, icons and # expansions with different credentials. diff --git a/font.md b/font.md index cb49af46..f1a2abf3 100644 --- a/font.md +++ b/font.md @@ -43,6 +43,11 @@ If you are using a different terminal, proceed with manual font installation. https://raw.githubusercontent.com/romkatv/powerlevel10k-media/389133fb8c9a2347929a23702ce3039aacc46c3d/visual-studio-code-font-settings.jpg) to see how it should look like or see [this issue]( https://github.com/romkatv/powerlevel10k/issues/671) for extra information. + + Note that software installed via [Snap](https://en.wikipedia.org/wiki/Snap_\(software\)) is + unable to use system fonts. If you've install Visual Studio Code via Snap, remove it by running + `sudo snap remove code` and install the official `.deb` build from the + [Visual Studio Code website](https://code.visualstudio.com/Download). - **GNOME Terminal** (the default Ubuntu terminal): Open *Terminal → Preferences* and click on the selected profile under *Profiles*. Check *Custom font* under *Text Appearance* and select `MesloLGS NF Regular`. diff --git a/gitstatus/build b/gitstatus/build index ea96a25a..66b4e59f 100755 --- a/gitstatus/build +++ b/gitstatus/build @@ -272,9 +272,9 @@ case "$gitstatus_kernel" in gitstatus_cxxflags="$gitstatus_cxxflags -I"$brew_prefix"/opt/libiconv/include" fi libgit2_cmake_flags="$libgit2_cmake_flags -DUSE_ICONV=ON" - gitstatus_ldlibs="$gitstatus_ldlibs -liconv" + gitstatus_ldlibs="$gitstatus_ldlibs -liconv -lz" gitstatus_ldflags="$gitstatus_ldflags -L${workdir}/lib" - libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=OFF" + libgit2_cmake_flags="$libgit2_cmake_flags -DENABLE_REPRODUCIBLE_BUILDS=OFF -DUSE_BUNDLED_ZLIB=OFF" ;; msys*|mingw*) gitstatus_ldflags="$gitstatus_ldflags ${static_pie:--static}" @@ -551,6 +551,7 @@ if [ -z "$gitstatus_cpu" ]; then arm64|aarch64) gitstatus_cpu=armv8-a;; ppc64|ppc64le) gitstatus_cpu=powerpc64le;; riscv64) gitstatus_cpu=rv64imafdc;; + mips64) gitstatus_cpu=mips64;; loongarch64) gitstatus_cpu=loongarch64;; x86_64|amd64) gitstatus_cpu=x86-64;; x86) gitstatus_cpu=i586;; diff --git a/internal/p10k.zsh b/internal/p10k.zsh index 309db1af..7aaafa01 100644 --- a/internal/p10k.zsh +++ b/internal/p10k.zsh @@ -138,6 +138,14 @@ function getColorCode() { return 1 } +function _p9k_codeset_is_utf8() { + # Use `case` to survive SH_GLOB. + case "${langinfo[CODESET]}" in + utf-8|UTF-8|utf8|UTF8) return 0;; + *) return 1;; + esac +} + # _p9k_declare [default]... function _p9k_declare() { local -i set=$+parameters[$2] @@ -1969,7 +1977,7 @@ prompt_dir() { if (( $+_POWERLEVEL9K_SHORTEN_DELIMITER )); then local delim=$_POWERLEVEL9K_SHORTEN_DELIMITER else - if [[ $langinfo[CODESET] == (utf|UTF)(-|)8 ]]; then + if _p9k_codeset_is_utf8; then local delim=$'\u2026' else local delim='..' @@ -3700,7 +3708,9 @@ _p9k_prompt_time_compute() { } _p9k_prompt_time_async() { - sleep 1 || true + zmodload zsh/mathfunc zsh/zselect || return + local -F t=_POWERLEVEL9K_EXPERIMENTAL_TIME_REALTIME_INTERVAL_SEC + zselect -t $((int(ceil(100 * (t - EPOCHREALTIME % t))))) || true } _p9k_prompt_time_sync() { @@ -4887,7 +4897,9 @@ _p9k_gcloud_prefetch() { if ! _p9k_cache_stat_get $0 ${CLOUDSDK_CONFIG:-~/.config/gcloud}/configurations/config_$P9K_GCLOUD_CONFIGURATION; then local pair account project_id pair="$(gcloud config configurations describe $P9K_GCLOUD_CONFIGURATION \ - --format=$'value[separator="\1"](properties.core.account,properties.core.project)')" + --quiet \ + --format=$'value[separator="\1"](properties.core.account,properties.core.project)' \ + *|<4->.*) ) ]]; then _p9k_prompt_prefix_right=$'%{\e]133;P;k=r\a%}'$_p9k_prompt_prefix_right _p9k_prompt_suffix_right+=$'%{\e]133;B\a%}' fi if (( $+_z4h_iterm_cmd && _z4h_can_save_restore_screen == 1 )); then _p9k_prompt_prefix_left+=$'%{\ePtmux;\e\e]133;A\a\e\\%}' _p9k_prompt_suffix_left+=$'%{\ePtmux;\e\e]133;B\a\e\\%}' - if [[ $TERM_PROGRAM == WarpTerminal ]]; then + if [[ $TERM_PROGRAM == WarpTerminal || + ( $TERM_PROGRAM == iTerm.app && $TERM_PROGRAM_VERSION == (3.<7->*|<4->.*) ) ]]; then _p9k_prompt_prefix_right=$'%{\ePtmux;\e\e]133;P;k=r\a\e\\%}'$_p9k_prompt_prefix_right _p9k_prompt_suffix_right+=$'%{\ePtmux;\e\e]133;B\a\e\\%}' fi @@ -9125,6 +9144,11 @@ _p9k_init() { function iterm2_decorate_prompt() { typeset -g ITERM2_PRECMD_PS1=$PROMPT typeset -g ITERM2_SHOULD_DECORATE_PROMPT= + if [[ -n $PS2 && $PS2 != *$'\e]133;A;k=s\a'* && -z ${ITERM2_SQUELCH_PS2_MARK-} && + $TERM_PROGRAM_VERSION == (3.<7->*|<4->.*) ]]; then + typeset -g ITERM2_PRECMD_PS2=$PS2 + PS2=$'%{\e]133;A;k=s\a%}'$PS2$'%{\e]133;B\a%}' + fi } fi if (( $+functions[iterm2_precmd] )); then @@ -9672,7 +9696,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.17 if [[ ${VSCODE_SHELL_INTEGRATION-} == <1-> && ${+__p9k_force_term_shell_integration} == 0 ]]; then typeset -gri __p9k_force_term_shell_integration=1 diff --git a/powerlevel10k.zsh-theme b/powerlevel10k.zsh-theme index 92079d40..1f7e8b33 100644 --- a/powerlevel10k.zsh-theme +++ b/powerlevel10k.zsh-theme @@ -27,7 +27,13 @@ local -a match mbegin mend local -i MBEGIN MEND OPTIND local MATCH OPTARG IFS=$'\'' \t\n\0'\' - typeset -gr __p9k_intro_locale='[[ $langinfo[CODESET] != (utf|UTF)(-|)8 ]] && _p9k_init_locale && { [[ -n $LC_ALL ]] && local LC_ALL=$__p9k_locale || local LC_CTYPE=$__p9k_locale }' + # Use `case` to survive SH_GLOB. + typeset -gr __p9k_intro_locale='{ + case "${langinfo[CODESET]}" in + utf-8|UTF-8|utf8|UTF8) false;; + *) true;; + esac + } && _p9k_init_locale && { [[ -n "$LC_ALL" ]] && local LC_ALL=$__p9k_locale || local LC_CTYPE=$__p9k_locale }' typeset -gr __p9k_intro_no_locale="${${__p9k_intro_base/ match / match reply }/ MATCH / MATCH REPLY }" typeset -gr __p9k_intro_no_reply="$__p9k_intro_base; $__p9k_intro_locale" typeset -gr __p9k_intro="$__p9k_intro_no_locale; $__p9k_intro_locale"