diff --git a/README.md b/README.md
index 13cd994e..22c68d62 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,11 @@
[](
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).
@@ -358,6 +363,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) |
@@ -449,15 +455,15 @@ 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. 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
@@ -530,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/community/x86_64/zsh-theme-powerlevel10k/) community 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
@@ -669,6 +670,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`.
@@ -684,11 +686,15 @@ 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 →
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
@@ -771,6 +777,17 @@ 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"
+ ```
+ - **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.
@@ -840,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` |
@@ -894,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` |
@@ -986,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.
@@ -1339,6 +1356,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?
@@ -1528,6 +1551,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)
@@ -1550,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`.
@@ -1871,6 +1895,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
diff --git a/config/p10k-classic.zsh b/config/p10k-classic.zsh
index 0e950d30..623b9308 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)
@@ -243,6 +244,7 @@
.perl-version
.php-version
.tool-versions
+ .mise.toml
.shorten_folder_marker
.svn
.terraform
@@ -728,6 +730,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.
@@ -804,9 +812,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_VI_MODE_VISUAL_IDENTIFIER_EXPANSION='⭐'
######################################[ ram: free RAM ]#######################################
# RAM color.
@@ -1671,7 +1678,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
@@ -1707,7 +1714,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 ca6e3d61..3f72ff4b 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)
@@ -234,6 +235,7 @@
.perl-version
.php-version
.tool-versions
+ .mise.toml
.shorten_folder_marker
.svn
.terraform
@@ -276,10 +278,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
@@ -723,6 +721,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.
@@ -1649,7 +1653,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
@@ -1685,7 +1689,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 e129c98a..cef70fd8 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)
@@ -234,6 +235,7 @@
.perl-version
.php-version
.tool-versions
+ .mise.toml
.shorten_folder_marker
.svn
.terraform
@@ -719,6 +721,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.
@@ -1645,7 +1653,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
@@ -1681,7 +1689,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 6b932c9e..ed74b7fa 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)
@@ -243,6 +244,7 @@
.perl-version
.php-version
.tool-versions
+ .mise.toml
.shorten_folder_marker
.svn
.terraform
@@ -747,7 +749,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
@@ -835,6 +844,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.
@@ -1764,7 +1775,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
@@ -1801,7 +1812,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/font.md b/font.md
index c80df910..cb49af46 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`.
@@ -70,11 +71,15 @@ 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 →
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
@@ -157,6 +162,17 @@ 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"
+ ```
+ - **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/gitstatus/Makefile b/gitstatus/Makefile
index fede08af..4a695acb 100644
--- a/gitstatus/Makefile
+++ b/gitstatus/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
diff --git a/gitstatus/README.md b/gitstatus/README.md
index a6631f63..609d5f82 100644
--- a/gitstatus/README.md
+++ b/gitstatus/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/gitstatus/build b/gitstatus/build
index e116abb2..ea96a25a 100755
--- a/gitstatus/build
+++ b/gitstatus/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/gitstatus/build.info b/gitstatus/build.info
index 9a4967e8..9bc9411d 100644
--- a/gitstatus/build.info
+++ b/gitstatus/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.
diff --git a/internal/icons.zsh b/internal/icons.zsh
index dc3d675e..1d1cafbb 100644
--- a/internal/icons.zsh
+++ b/internal/icons.zsh
@@ -74,7 +74,9 @@ 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 # 🌞
HOME_ICON '\uE12C'$s #
HOME_SUB_ICON '\uE18D'$s #
@@ -138,6 +140,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'
@@ -230,7 +233,9 @@ 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 ' #
HOME_ICON '\uF015'$s #
HOME_SUB_ICON '\uF07C'$s #
@@ -290,6 +295,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'
@@ -387,7 +393,9 @@ 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 }"
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}"
@@ -445,6 +453,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'
@@ -533,11 +542,13 @@ 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 #
+ LINUX_ALMALINUX_ICON '\UF31D'$s #
LINUX_GUIX_ICON '\UF325'$s #
+ LINUX_NEON_ICON '\uF17C' #
LINUX_ICON '\uF17C' #
SUNOS_ICON '\uF185 ' #
HOME_ICON '\uF015'$s #
@@ -603,6 +614,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 ' #
@@ -695,7 +707,9 @@ 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' #
SUNOS_ICON '\uF185 ' #
HOME_ICON '\uF015'$s #
@@ -756,6 +770,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 ' #
@@ -846,7 +861,9 @@ function _p9k_init_icons() {
LINUX_AMZN_ICON 'amzn'
LINUX_ENDEAVOUROS_ICON 'edvos'
LINUX_ROCKY_ICON 'rocky'
+ LINUX_ALMALINUX_ICON 'alma'
LINUX_GUIX_ICON 'guix'
+ LINUX_NEON_ICON 'neon'
SUNOS_ICON 'sunos'
HOME_ICON ''
HOME_SUB_ICON ''
@@ -906,6 +923,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'
@@ -998,7 +1016,9 @@ 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'
HOME_ICON ''
HOME_SUB_ICON ''
@@ -1058,6 +1078,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'
diff --git a/internal/p10k.zsh b/internal/p10k.zsh
index 0b003853..f73dd208 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
@@ -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}}}}'
}
################################################################
@@ -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]//\%/%%}
@@ -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
@@ -4262,8 +4264,8 @@ function _p9k_parse_virtualenv_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]
+ [[ $'\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
@@ -4916,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
@@ -4953,6 +4959,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 '' ''
@@ -5111,7 +5129,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
@@ -5220,7 +5238,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
@@ -5247,7 +5268,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 taskwarrior 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
@@ -5733,15 +5756,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
@@ -5793,7 +5820,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() {
@@ -6721,9 +6748,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}"
@@ -7454,7 +7481,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
@@ -8611,8 +8638,14 @@ 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
+ _p9k_set_os Linux LINUX_RASPBIAN_ICON
+ 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;;
@@ -8636,7 +8669,9 @@ 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;;
esac
;;
@@ -8851,7 +8886,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
}
@@ -8981,9 +9026,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 - ""
@@ -9056,6 +9101,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
@@ -9457,7 +9503,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.19.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
+fi
unset VSCODE_SHELL_INTEGRATION
_p9k_init_ssh
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.
#
diff --git a/internal/wizard.zsh b/internal/wizard.zsh
index e07225e0..5ae58002 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;;
@@ -1157,7 +1164,9 @@ 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;;
esac
;;
@@ -1281,42 +1290,34 @@ 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=$fade_out
@@ -1324,11 +1325,16 @@ function ask_heads() {
options+='blurred heads'
;;
3)
+ left_head=$right_triangle
+ right_head=$left_triangle
+ options+='sharp heads'
+ ;;
+ 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'
@@ -1501,7 +1507,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)"
@@ -1742,6 +1748,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'
@@ -2135,16 +2143,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