mirror of
https://github.com/romkatv/powerlevel10k.git
synced 2025-12-04 21:56:46 +01:00
Compare commits
149 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
36f3045d69 | ||
|
|
8fa10f43a0 |
||
|
|
05b11d8b92 | ||
|
|
eb487f836a | ||
|
|
f3b05b4448 | ||
|
|
3e2053a934 |
||
|
|
c85cd0f028 | ||
|
|
33fff66cc6 | ||
|
|
c187964ad3 |
||
|
|
ef83e13c22 | ||
|
|
f2f0149974 |
||
|
|
8a331b8210 | ||
|
|
ed07f45e39 | ||
|
|
5bddd1e731 | ||
|
|
5e26473457 | ||
|
|
67a365b9db |
||
|
|
3483f230a7 |
||
|
|
0996a94118 |
||
|
|
c64a133616 | ||
|
|
140a6ade4e | ||
|
|
087405df78 | ||
|
|
f31d01dbb1 | ||
|
|
edf38f964e |
||
|
|
d71edb83f9 | ||
|
|
00f74aaf75 | ||
|
|
c30068c1f1 | ||
|
|
a42e374e25 | ||
|
|
119e4039ef | ||
|
|
2b7da93df0 | ||
|
|
821b25dc32 | ||
|
|
4a2ef610ef |
||
|
|
df8ed16343 | ||
|
|
bde5ca4c2a |
||
|
|
16e5848426 |
||
|
|
3395c828b2 | ||
|
|
b28d68f44b | ||
|
|
01e3f0b4ba | ||
|
|
808ba80ab0 | ||
|
|
178fcda348 |
||
|
|
bcef7cafdf |
||
|
|
aeff1153d4 | ||
|
|
7c2ce29c3f | ||
|
|
d6a0fed1d9 |
||
|
|
da9b03777c |
||
|
|
45627c528b | ||
|
|
3fe8706d24 | ||
|
|
a7f13e420e | ||
|
|
55c8f74c38 | ||
|
|
50794faba4 | ||
|
|
a3f7dabcae | ||
|
|
93d074a82b | ||
|
|
07a971d310 | ||
|
|
6836bfe2da |
||
|
|
0fdca5b1e6 | ||
|
|
d39e426835 | ||
|
|
0cc19ac2ed | ||
|
|
b973805f01 | ||
|
|
b379cf6225 | ||
|
|
bb16e366c3 | ||
|
|
31d99b694c | ||
|
|
bfbc65e63d | ||
|
|
12e0592ac8 | ||
|
|
9e3418d319 | ||
|
|
17cd9e354a | ||
|
|
8e2a22d80b | ||
|
|
5ef7487648 | ||
|
|
f880e18769 |
||
|
|
665257d059 |
||
|
|
67cedd3edc |
||
|
|
eb8f96f808 |
||
|
|
1aa91f0069 |
||
|
|
5bba4b849b | ||
|
|
ce7c242337 | ||
|
|
34ee1c6bbb |
||
|
|
62341054d8 | ||
|
|
be39c4ea5a | ||
|
|
adc238fa1d | ||
|
|
6f4520cc13 | ||
|
|
307bce24d1 | ||
|
|
35833ea15f | ||
|
|
bd0fa8a08f | ||
|
|
a6fa4e4304 | ||
|
|
ab6a863e23 | ||
|
|
8fefef2285 | ||
|
|
ecf91710c0 | ||
|
|
d774adcb85 | ||
|
|
30ba16ecd8 | ||
|
|
4d7925c983 |
||
|
|
c180a5e040 | ||
|
|
75724ec65e | ||
|
|
9be438f862 |
||
|
|
cda24b72b7 | ||
|
|
f5d5abfe1f | ||
|
|
651033c3df | ||
|
|
d804048efc | ||
|
|
cc6ed4be41 | ||
|
|
dec881651c | ||
|
|
d70eedb345 | ||
|
|
36cce9a088 | ||
|
|
3cc18b5e08 | ||
|
|
44f754d711 |
||
|
|
47b0187a67 | ||
|
|
b9a2d846ef | ||
|
|
7fd76370f5 | ||
|
|
9547f22822 | ||
|
|
c39e5304a1 | ||
|
|
096a731db3 | ||
|
|
783588c17f | ||
|
|
211c90343f | ||
|
|
47d5397baa |
||
|
|
92bee79642 |
||
|
|
174ce9bf01 | ||
|
|
18f0bec1bb | ||
|
|
430616734a | ||
|
|
c7fa7d6748 | ||
|
|
862440ae11 | ||
|
|
873c4ff09c | ||
|
|
215b20e087 | ||
|
|
be4c68fd0a |
||
|
|
f8595a35bf | ||
|
|
011b8469ab |
||
|
|
d8041e4700 | ||
|
|
f04ce05d92 | ||
|
|
9401ed17c0 | ||
|
|
69d726d9fb | ||
|
|
22cb2f79dd | ||
|
|
2d9c1f271b | ||
|
|
717f9a1881 |
||
|
|
f851f41fc1 | ||
|
|
9bb15e9ffb | ||
|
|
ef401ad02a | ||
|
|
a8fa0e2a1b | ||
|
|
68104494a7 | ||
|
|
baf03bf48e | ||
|
|
367c667de6 | ||
|
|
12aa3fa3c4 | ||
|
|
7e9a79f3f1 | ||
|
|
1d96f5e066 | ||
|
|
e8aa8cce7f | ||
|
|
646bae0dd6 | ||
|
|
4cc0ea0081 | ||
|
|
2453fd27e2 |
||
|
|
932954a8b1 | ||
|
|
93d97b7eba | ||
|
|
078497570f | ||
|
|
343d4f44e5 | ||
|
|
0c28fec137 | ||
|
|
4dca4bdfbb | ||
|
|
20323d6f8c |
26 changed files with 943 additions and 288 deletions
162
README.md
162
README.md
|
|
@ -2,6 +2,11 @@
|
||||||
[](
|
[](
|
||||||
https://gitter.im/powerlevel10k/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
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),
|
Powerlevel10k is a theme for Zsh. It emphasizes [speed](#uncompromising-performance),
|
||||||
[flexibility](#extremely-customizable) and [out-of-the-box experience](#configuration-wizard).
|
[flexibility](#extremely-customizable) and [out-of-the-box experience](#configuration-wizard).
|
||||||
|
|
||||||
|
|
@ -300,10 +305,11 @@ To ~~ridiculous~~ extravagant:
|
||||||
|
|
||||||
### Batteries included
|
### Batteries included
|
||||||
|
|
||||||
Powerlevel10k comes with dozens of built-in high quality segments. When you run `p10k configure`
|
Powerlevel10k comes with dozens of built-in high quality prompt segments that can display
|
||||||
and choose any style except [Pure](#pure-compatibility), many of these segments get enabled by
|
information from a variety of sources. When you run `p10k configure` and choose any style
|
||||||
default while others can be manually enabled by opening `~/.p10k.zsh` and uncommenting them. You can
|
except [Pure](#pure-compatibility), many of these segments get enabled by
|
||||||
enable as many segments as you like. It won't slow down your prompt or Zsh startup.
|
default while others can be manually enabled by opening `~/.p10k.zsh` and uncommenting them.
|
||||||
|
You can enable as many segments as you like. It won't slow down your prompt or Zsh startup.
|
||||||
|
|
||||||
| Segment | Meaning |
|
| Segment | Meaning |
|
||||||
|--------:|---------|
|
|--------:|---------|
|
||||||
|
|
@ -346,6 +352,7 @@ enable as many segments as you like. It won't slow down your prompt or Zsh start
|
||||||
| `nvm` | node.js environment from [nvm](https://github.com/nvm-sh/nvm) |
|
| `nvm` | node.js environment from [nvm](https://github.com/nvm-sh/nvm) |
|
||||||
| `os_icon` | your OS logo (apple for macOS, swirl for debian, etc.) |
|
| `os_icon` | your OS logo (apple for macOS, swirl for debian, etc.) |
|
||||||
| `package` | `name@version` from [package.json](https://docs.npmjs.com/files/package.json) |
|
| `package` | `name@version` from [package.json](https://docs.npmjs.com/files/package.json) |
|
||||||
|
| `per_directory_history` | Oh My Zsh [per-directory-history](https://github.com/jimhester/per-directory-history) local/global indicator |
|
||||||
| `perlbrew` | perl version from [perlbrew](https://github.com/gugod/App-perlbrew) |
|
| `perlbrew` | perl version from [perlbrew](https://github.com/gugod/App-perlbrew) |
|
||||||
| `phpenv` | php environment from [phpenv](https://github.com/phpenv/phpenv) |
|
| `phpenv` | php environment from [phpenv](https://github.com/phpenv/phpenv) |
|
||||||
| `php_version` | [php](https://www.php.net/) version |
|
| `php_version` | [php](https://www.php.net/) version |
|
||||||
|
|
@ -356,6 +363,7 @@ enable as many segments as you like. It won't slow down your prompt or Zsh start
|
||||||
| `pyenv` | python environment from [pyenv](https://github.com/pyenv/pyenv) |
|
| `pyenv` | python environment from [pyenv](https://github.com/pyenv/pyenv) |
|
||||||
| `ram` | free RAM |
|
| `ram` | free RAM |
|
||||||
| `ranger` | [ranger](https://github.com/ranger/ranger) shell |
|
| `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) |
|
| `rbenv` | ruby environment from [rbenv](https://github.com/rbenv/rbenv) |
|
||||||
| `rust_version` | [rustc](https://www.rust-lang.org) version |
|
| `rust_version` | [rustc](https://www.rust-lang.org) version |
|
||||||
| `rvm` | ruby environment from [rvm](https://rvm.io) |
|
| `rvm` | ruby environment from [rvm](https://rvm.io) |
|
||||||
|
|
@ -396,6 +404,11 @@ it out of the box.
|
||||||
|
|
||||||
Type `p10k help segment` for reference.
|
Type `p10k help segment` for reference.
|
||||||
|
|
||||||
|
*Note*: If you modify `POWERLEVEL9K_*` parameters in an already initialized interactive shell (as
|
||||||
|
opposed to editing `~/.p10k.zsh`), the changes might not be immediately effective. To apply the
|
||||||
|
modifications, invoke `p10k reload`. Setting `POWERLEVEL9K_DISABLE_HOT_RELOAD=false` eliminates the
|
||||||
|
necessity for `p10k reload` but results in a marginally slower prompt.
|
||||||
|
|
||||||
*Tip*: Prefix names of your own segments with `my_` to avoid clashes with future versions of
|
*Tip*: Prefix names of your own segments with `my_` to avoid clashes with future versions of
|
||||||
Powerlevel10k.
|
Powerlevel10k.
|
||||||
|
|
||||||
|
|
@ -442,15 +455,15 @@ make sure to disable the current theme in your plugin manager. See
|
||||||
|
|
||||||
1. Clone the repository:
|
1. Clone the repository:
|
||||||
```zsh
|
```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.<br>
|
Users in China can use the official mirror on gitee.com for faster download.<br>
|
||||||
中国用户可以使用 gitee.com 上的官方镜像加速下载.
|
中国用户可以使用 gitee.com 上的官方镜像加速下载.
|
||||||
|
|
||||||
```zsh
|
```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
|
### Prezto
|
||||||
|
|
||||||
|
|
@ -509,8 +522,8 @@ Add `plug "romkatv/powerlevel10k"` to `~/.zshrc`.
|
||||||
### Homebrew
|
### Homebrew
|
||||||
|
|
||||||
```zsh
|
```zsh
|
||||||
brew install romkatv/powerlevel10k/powerlevel10k
|
brew install powerlevel10k
|
||||||
echo "source $(brew --prefix)/opt/powerlevel10k/powerlevel10k.zsh-theme" >>~/.zshrc
|
echo "source $(brew --prefix)/share/powerlevel10k/powerlevel10k.zsh-theme" >>~/.zshrc
|
||||||
```
|
```
|
||||||
|
|
||||||
### Arch Linux
|
### Arch Linux
|
||||||
|
|
@ -523,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/)
|
[zsh-theme-powerlevel10k-git](https://aur.archlinux.org/packages/zsh-theme-powerlevel10k-git/)
|
||||||
referenced above is the official Powerlevel10k package.
|
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
|
### Alpine Linux
|
||||||
|
|
||||||
```zsh
|
```zsh
|
||||||
|
|
@ -662,6 +670,7 @@ If you are using a different terminal, proceed with manual font installation.
|
||||||
- **Windows Terminal** by Microsoft (the new thing): Open *Settings* (<kbd>Ctrl+,</kbd>), click
|
- **Windows Terminal** by Microsoft (the new thing): Open *Settings* (<kbd>Ctrl+,</kbd>), click
|
||||||
either on the selected profile under *Profiles* or on *Defaults*, click *Appearance* and set
|
either on the selected profile under *Profiles* or on *Defaults*, click *Appearance* and set
|
||||||
*Font face* to `MesloLGS NF`.
|
*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 →
|
- **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
|
Color Scheme → Console Font*. Select *Use console font instead of the default* and set the font
|
||||||
name to `MesloLGS NF`.
|
name to `MesloLGS NF`.
|
||||||
|
|
@ -669,7 +678,7 @@ If you are using a different terminal, proceed with manual font installation.
|
||||||
*Meslo Nerd Font*.
|
*Meslo Nerd Font*.
|
||||||
- **Blink**: Type `config`, go to *Appearance*, tap *Add a new font*, tap *Open Gallery*, select
|
- **Blink**: Type `config`, go to *Appearance*, tap *Add a new font*, tap *Open Gallery*, select
|
||||||
*MesloLGS NF.css*, tap *import* and type `exit` in the home view to reload the font.
|
*MesloLGS NF.css*, tap *import* and type `exit` in the home view to reload the font.
|
||||||
- **Terminus**: Open *Settings → Appearance* and set *Font* to `MesloLGS NF`.
|
- **Tabby** (formerly **Terminus**): Open *Settings → Appearance* and set *Font* to `MesloLGS NF`.
|
||||||
- **Terminator**: Open *Preferences* using the context menu. Under *Profiles* select the *General*
|
- **Terminator**: Open *Preferences* using the context menu. Under *Profiles* select the *General*
|
||||||
tab (should be selected already), uncheck *Use the system fixed width font* (if not already)
|
tab (should be selected already), uncheck *Use the system fixed width font* (if not already)
|
||||||
and select `MesloLGS NF Regular`. Exit the Preferences dialog by clicking *Close*.
|
and select `MesloLGS NF Regular`. Exit the Preferences dialog by clicking *Close*.
|
||||||
|
|
@ -677,24 +686,31 @@ 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`.
|
tab, uncheck *Use the system fixed width font* (if not already) and select `MesloLGS NF Regular`.
|
||||||
Exit the Preferences dialog by clicking *Close*.
|
Exit the Preferences dialog by clicking *Close*.
|
||||||
- **MobaXterm**: Open *Settings* → *Configuration* → *Terminal* → (under *Terminal look and feel*)
|
- **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
|
- **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`.
|
*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 →
|
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`.
|
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
|
- **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`.
|
*Font*, click *"Select..."* and set Font to `MesloLGS NF Regular`.
|
||||||
- **Yakuake**: Click *≡* → *Manage Profiles* → *New* → *Appearance*. Click *Choose* next to the
|
- **Yakuake**: Click *≡* → *Manage Profiles* → *New* → *Appearance*. Click *Choose* next to the
|
||||||
*Font* dropdown, select `MesloLGS NF` and click *OK*. Click *OK* to save the profile. Select the
|
*Font* dropdown, select `MesloLGS NF` and click *OK*. Click *OK* to save the profile. Select the
|
||||||
new profile and click *Set as Default*.
|
new profile and click *Set as Default*.
|
||||||
- **Alacritty**: Create or open `~/.config/alacritty/alacritty.yml` and add the following section
|
- **Alacritty**: Create or open `~/.config/alacritty/alacritty.toml` and add the following
|
||||||
to it:
|
section to it:
|
||||||
```yaml
|
```toml
|
||||||
font:
|
[font.normal]
|
||||||
normal:
|
family = "MesloLGS NF"
|
||||||
family: "MesloLGS NF"
|
|
||||||
```
|
```
|
||||||
- **kitty**: Create or open `~/.config/kitty/kitty.conf` and add the following line to it:
|
- **foot**: Create or open `~/.config/foot/foot.ini` and add the following section to it:
|
||||||
|
```ini
|
||||||
|
font=MesloLGS NF:size=12
|
||||||
|
```
|
||||||
|
- **kitty**: Create or open `~/.config/kitty/kitty.conf` and add the following line to it:
|
||||||
```text
|
```text
|
||||||
font_family MesloLGS NF
|
font_family MesloLGS NF
|
||||||
```
|
```
|
||||||
|
|
@ -761,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.
|
**_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
|
1. Run `p10k configure` to generate a new `~/.p10k.zsh`. The old config may work
|
||||||
incorrectly with the new font.
|
incorrectly with the new font.
|
||||||
|
|
||||||
|
|
@ -830,7 +857,7 @@ The command to update Powerlevel10k depends on how it was installed.
|
||||||
| Installation | Update command |
|
| Installation | Update command |
|
||||||
|-------------------------------|-------------------------------------------------------------|
|
|-------------------------------|-------------------------------------------------------------|
|
||||||
| [Manual](#manual) | `git -C ~/powerlevel10k pull` |
|
| [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` |
|
| [Prezto](#prezto) | `zprezto-update` |
|
||||||
| [Zim](#zim) | `zimfw update` |
|
| [Zim](#zim) | `zimfw update` |
|
||||||
| [Antigen](#antigen) | `antigen update` |
|
| [Antigen](#antigen) | `antigen update` |
|
||||||
|
|
@ -884,7 +911,7 @@ The command to update Powerlevel10k depends on how it was installed.
|
||||||
| Installation | Uninstall command |
|
| Installation | Uninstall command |
|
||||||
|-------------------------------|------------------------------------------------------------------|
|
|-------------------------------|------------------------------------------------------------------|
|
||||||
| [Manual](#manual) | `rm -rf ~/powerlevel10k` |
|
| [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 |
|
| [Prezto](#prezto) | n/a |
|
||||||
| [Zim](#zim) | `zimfw uninstall` |
|
| [Zim](#zim) | `zimfw uninstall` |
|
||||||
| [Antigen](#antigen) | `antigen purge romkatv/powerlevel10k` |
|
| [Antigen](#antigen) | `antigen purge romkatv/powerlevel10k` |
|
||||||
|
|
@ -894,8 +921,8 @@ The command to update Powerlevel10k depends on how it was installed.
|
||||||
| [Zplugin](#zplugin) | `zplugin delete romkatv/powerlevel10k` |
|
| [Zplugin](#zplugin) | `zplugin delete romkatv/powerlevel10k` |
|
||||||
| [Zinit](#zinit) | `zinit delete romkatv/powerlevel10k` |
|
| [Zinit](#zinit) | `zinit delete romkatv/powerlevel10k` |
|
||||||
| [Zi](#zi) | `zi delete romkatv/powerlevel10k` |
|
| [Zi](#zi) | `zi delete romkatv/powerlevel10k` |
|
||||||
| [Zap](#zap) | `zsh -ic 'zap clean'` |
|
| [Zap](#zap) | `zsh -ic 'zap clean'` |
|
||||||
| [Homebrew](#homebrew) | `brew uninstall powerlevel10k; brew untap romkatv/powerlevel10k` |
|
| [Homebrew](#homebrew) | `brew uninstall powerlevel10k` |
|
||||||
| [Arch Linux](#arch-linux) | `yay -R --noconfirm zsh-theme-powerlevel10k-git` |
|
| [Arch Linux](#arch-linux) | `yay -R --noconfirm zsh-theme-powerlevel10k-git` |
|
||||||
| [Alpine Linux](#alpine-linux) | `apk del zsh-theme-powerlevel10k` |
|
| [Alpine Linux](#alpine-linux) | `apk del zsh-theme-powerlevel10k` |
|
||||||
6. Restart Zsh. [Do not use `source ~/.zshrc`](#weird-things-happen-after-typing-source-zshrc).
|
6. Restart Zsh. [Do not use `source ~/.zshrc`](#weird-things-happen-after-typing-source-zshrc).
|
||||||
|
|
@ -968,13 +995,15 @@ Powerlevel10k does not affect:
|
||||||
- Prompt parameters other than `PS1` and `RPS1`.
|
- Prompt parameters other than `PS1` and `RPS1`.
|
||||||
- Zsh options other than those [related to prompt](
|
- Zsh options other than those [related to prompt](
|
||||||
http://zsh.sourceforge.net/Doc/Release/Options.html#Prompting).
|
http://zsh.sourceforge.net/Doc/Release/Options.html#Prompting).
|
||||||
|
- The set of available commands. Powerlevel10k does not install any new commands
|
||||||
|
with the only exception of `p10k`.
|
||||||
|
|
||||||
### I'm using Powerlevel9k with Oh My Zsh. How do I migrate?
|
### I'm using Powerlevel9k with Oh My Zsh. How do I migrate?
|
||||||
|
|
||||||
1. Run this command:
|
1. Run this command:
|
||||||
```zsh
|
```zsh
|
||||||
# Add powerlevel10k to the list of Oh My Zsh themes.
|
# 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".
|
# Replace ZSH_THEME="powerlevel9k/powerlevel9k" with ZSH_THEME="powerlevel10k/powerlevel10k".
|
||||||
sed -i.bak 's/powerlevel9k/powerlevel10k/g' ~/.zshrc
|
sed -i.bak 's/powerlevel9k/powerlevel10k/g' ~/.zshrc
|
||||||
# Restart Zsh.
|
# Restart Zsh.
|
||||||
|
|
@ -1135,6 +1164,7 @@ feature:master wip ⇣42⇡42 ⇠42⇢42 *42 merge ~42 +42 !42 ?42
|
||||||
| `feature` | current branch; replaced with `#tag` or `@commit` if not on a branch | `git status --ignore-submodules=dirty` |
|
| `feature` | current branch; replaced with `#tag` or `@commit` if not on a branch | `git status --ignore-submodules=dirty` |
|
||||||
| `master` | remote tracking branch; only shown if different from local branch | `git rev-parse --abbrev-ref --symbolic-full-name @{upstream}` |
|
| `master` | remote tracking branch; only shown if different from local branch | `git rev-parse --abbrev-ref --symbolic-full-name @{upstream}` |
|
||||||
| `wip` | the latest commit's summary contains "wip" or "WIP" | `git show --pretty=%s --no-patch HEAD` |
|
| `wip` | the latest commit's summary contains "wip" or "WIP" | `git show --pretty=%s --no-patch HEAD` |
|
||||||
|
| `=` | up to date with the remote (neither ahead nor behind) | `git rev-list --count HEAD...@{upstream}` |
|
||||||
| `⇣42` | this many commits behind the remote | `git rev-list --right-only --count HEAD...@{upstream}` |
|
| `⇣42` | this many commits behind the remote | `git rev-list --right-only --count HEAD...@{upstream}` |
|
||||||
| `⇡42` | this many commits ahead of the remote | `git rev-list --left-only --count HEAD...@{upstream}` |
|
| `⇡42` | this many commits ahead of the remote | `git rev-list --left-only --count HEAD...@{upstream}` |
|
||||||
| `⇠42` | this many commits behind the push remote | `git rev-list --right-only --count HEAD...@{push}` |
|
| `⇠42` | this many commits behind the push remote | `git rev-list --right-only --count HEAD...@{push}` |
|
||||||
|
|
@ -1186,7 +1216,7 @@ completes, Powerlevel10k refreshes prompt with new information, this time with c
|
||||||
|
|
||||||
When using *Rainbow* style, Git status is displayed as black on grey while it's still being
|
When using *Rainbow* style, Git status is displayed as black on grey while it's still being
|
||||||
computed. Depending on the terminal color palette, this may be difficult to read. In this case you
|
computed. Depending on the terminal color palette, this may be difficult to read. In this case you
|
||||||
might want to change the background color to something ligher for more contrast. To do that, open
|
might want to change the background color to something lighter for more contrast. To do that, open
|
||||||
`~/.p10k.zsh`, search for `POWERLEVEL9K_VCS_LOADING_BACKGROUND`, uncomment it if it's commented out,
|
`~/.p10k.zsh`, search for `POWERLEVEL9K_VCS_LOADING_BACKGROUND`, uncomment it if it's commented out,
|
||||||
and change the value.
|
and change the value.
|
||||||
|
|
||||||
|
|
@ -1310,15 +1340,28 @@ terminals. Many terminals also support customization of these colors through col
|
||||||
|
|
||||||
Type `source ~/.p10k.zsh` to apply your changes to the current Zsh session.
|
Type `source ~/.p10k.zsh` to apply your changes to the current Zsh session.
|
||||||
|
|
||||||
To see how different colors look in your terminal, run the following command:
|
To see how different numbered colors look in your terminal, run the following command:
|
||||||
|
|
||||||
```zsh
|
```zsh
|
||||||
for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done
|
for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done
|
||||||
```
|
```
|
||||||
|
|
||||||
|
If your terminal supports truecolor, you can use 24-bit colors in the `#RRGGBB` format in addition
|
||||||
|
to the numbered colors.
|
||||||
|
|
||||||
|
```zsh
|
||||||
|
typeset -g POWERLEVEL9K_TIME_FOREGROUND='#FF0000'
|
||||||
|
```
|
||||||
|
|
||||||
*Related:*
|
*Related:*
|
||||||
- [Directory is difficult to see in prompt when using Rainbow style.](
|
- [Directory is difficult to see in prompt when using Rainbow style.](
|
||||||
#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?
|
### Why does Powerlevel10k spawn extra processes?
|
||||||
|
|
||||||
|
|
@ -1490,6 +1533,7 @@ Powerlevel10k are released. This may change in the future but not soon.
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
|
- [`[oh-my-zsh] theme 'powerlevel10k/powerlevel10k' not found`](#oh-my-zsh-theme-powerlevel10kpowerlevel10k-not-found)
|
||||||
- [Question mark in prompt](#question-mark-in-prompt)
|
- [Question mark in prompt](#question-mark-in-prompt)
|
||||||
- [Icons, glyphs or powerline symbols don't render](#icons-glyphs-or-powerline-symbols-dont-render)
|
- [Icons, glyphs or powerline symbols don't render](#icons-glyphs-or-powerline-symbols-dont-render)
|
||||||
- [Sub-pixel imperfections around powerline symbols](#sub-pixel-imperfections-around-powerline-symbols)
|
- [Sub-pixel imperfections around powerline symbols](#sub-pixel-imperfections-around-powerline-symbols)
|
||||||
|
|
@ -1507,9 +1551,32 @@ 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)
|
- [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)
|
- [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)
|
- [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)
|
- [Horrific mess when resizing terminal window](#horrific-mess-when-resizing-terminal-window)
|
||||||
- [Icons cut off in Konsole](#icons-cut-off-in-konsole)
|
- [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)
|
- [Arch Linux logo has a dot in the bottom right corner](#arch-linux-logo-has-a-dot-in-the-bottom-right-corner)
|
||||||
|
- [Incorrect git status in prompt](#incorrect-git-status-in-prompt)
|
||||||
|
|
||||||
|
### `[oh-my-zsh] theme 'powerlevel10k/powerlevel10k' not found`
|
||||||
|
|
||||||
|
When opening a terminal, or starting zsh manually, you may encounter this error message:
|
||||||
|
|
||||||
|
```text
|
||||||
|
[oh-my-zsh] theme 'powerlevel10k/powerlevel10k' not found
|
||||||
|
```
|
||||||
|
|
||||||
|
1. First, run `typeset -p P9K_VERSION` to check whether Powerlevel10k has been loaded.
|
||||||
|
- If `typeset -p P9K_VERSION` succeeds and prints something like `typeset P9K_VERSION=1.19.14`
|
||||||
|
(the version could be different), remove the following line from `~/.zshrc`:
|
||||||
|
```zsh
|
||||||
|
ZSH_THEME="powerlevel10k/powerlevel10k"
|
||||||
|
```
|
||||||
|
- 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"
|
||||||
|
```
|
||||||
|
2. Restart Zsh with `exec zsh`.
|
||||||
|
|
||||||
### Question mark in prompt
|
### Question mark in prompt
|
||||||
|
|
||||||
|
|
@ -1694,10 +1761,15 @@ and make sure that `TERM` environment variable is set correctly. Verify with
|
||||||
If there is no UTF-8 locale on the system, configuration wizard won't offer prompt styles that use
|
If there is no UTF-8 locale on the system, configuration wizard won't offer prompt styles that use
|
||||||
Unicode characters. *Fix*: Install a UTF-8 locale. Verify with `locale -a`.
|
Unicode characters. *Fix*: Install a UTF-8 locale. Verify with `locale -a`.
|
||||||
|
|
||||||
When a UTF-8 locale is available, the first few questions asked by the configuration wizard assess
|
Another case in which configuration wizard may not offer Unicode prompt styles is when the
|
||||||
capabilities of the terminal font. If your answers indicate that some glyphs don't render correctly,
|
`MULTIBYTE` shell option is disabled. *Fix*: Enable the `MULTIBYTE` option, or rather don't disable
|
||||||
configuration wizard won't offer prompt styles that use them. *Fix*: Restart your terminal and
|
it (this option is enabled in Zsh by default). Verify with `print -r -- ${options[MULTIBYTE]}`.
|
||||||
install [the recommended font](#meslo-nerd-font-patched-for-powerlevel10k). Verify by running
|
|
||||||
|
When `MULTIBYTE` is enabled and a UTF-8 locale is available, the first few questions asked by the
|
||||||
|
configuration wizard assess capabilities of the terminal font. If your answers indicate that some
|
||||||
|
glyphs don't render correctly, configuration wizard won't offer prompt styles that use them. *Fix*:
|
||||||
|
Restart your terminal and install
|
||||||
|
[the recommended font](#meslo-nerd-font-patched-for-powerlevel10k). Verify by running
|
||||||
`p10k configure` and checking that all glyphs render correctly.
|
`p10k configure` and checking that all glyphs render correctly.
|
||||||
|
|
||||||
### Cannot install the recommended font
|
### Cannot install the recommended font
|
||||||
|
|
@ -1823,6 +1895,15 @@ There are several ways to fix this.
|
||||||
`POWERLEVEL9K_DIR_ANCHOR_FOREGROUND` and `POWERLEVEL9K_DIR_ANCHOR_BOLD`. You can find them in
|
`POWERLEVEL9K_DIR_ANCHOR_FOREGROUND` and `POWERLEVEL9K_DIR_ANCHOR_BOLD`. You can find them in
|
||||||
`~/.p10k.zsh`.
|
`~/.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
|
### Horrific mess when resizing terminal window
|
||||||
|
|
||||||
When you resize a terminal window horizontally back and forth a few times, you might see this ugly
|
When you resize a terminal window horizontally back and forth a few times, you might see this ugly
|
||||||
|
|
@ -2019,3 +2100,16 @@ Some fonts have this incorrect dotted icon in bold typeface. There are two ways
|
||||||
```zsh
|
```zsh
|
||||||
typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='${P9K_CONTENT}' # not bold
|
typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='${P9K_CONTENT}' # not bold
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Incorrect git status in prompt
|
||||||
|
|
||||||
|
Powerlevel10k uses [gitstatusd](https://github.com/romkatv/gitstatus) to inspect the state of git
|
||||||
|
repositories. The project relies on the [libgit2](https://github.com/libgit2/libgit2) library, which
|
||||||
|
has some gaps in its implementation. Under some conditions, this may result in discrepancies between
|
||||||
|
the real state of a git repository (reflected by `git status`) and what gets shown in the
|
||||||
|
Powerlevel10k prompt.
|
||||||
|
|
||||||
|
Most notably, [libgit2 does not support `skipHash`](https://github.com/libgit2/libgit2/issues/6531).
|
||||||
|
If you see incorrect git status in prompt, run `git config -l` and check whether `skipHash` is
|
||||||
|
enabled. If it is, consider disabling it. Keep in mind that `skipHash` may be implicitly enabled
|
||||||
|
when activating certain git features, such as `manyFiles`.
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,7 @@
|
||||||
context # user@hostname
|
context # user@hostname
|
||||||
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
|
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
|
||||||
ranger # ranger shell (https://github.com/ranger/ranger)
|
ranger # ranger shell (https://github.com/ranger/ranger)
|
||||||
|
yazi # yazi shell (https://github.com/sxyazi/yazi)
|
||||||
nnn # nnn shell (https://github.com/jarun/nnn)
|
nnn # nnn shell (https://github.com/jarun/nnn)
|
||||||
lf # lf shell (https://github.com/gokcehan/lf)
|
lf # lf shell (https://github.com/gokcehan/lf)
|
||||||
xplr # xplr shell (https://github.com/sayanarijit/xplr)
|
xplr # xplr shell (https://github.com/sayanarijit/xplr)
|
||||||
|
|
@ -97,6 +98,7 @@
|
||||||
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
||||||
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
||||||
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
||||||
|
per_directory_history # Oh My Zsh per-directory-history local/global indicator
|
||||||
# cpu_arch # CPU architecture
|
# cpu_arch # CPU architecture
|
||||||
# time # current time
|
# time # current time
|
||||||
# =========================[ Line #2 ]=========================
|
# =========================[ Line #2 ]=========================
|
||||||
|
|
@ -241,7 +243,8 @@
|
||||||
.java-version
|
.java-version
|
||||||
.perl-version
|
.perl-version
|
||||||
.php-version
|
.php-version
|
||||||
.tool-version
|
.tool-versions
|
||||||
|
.mise.toml
|
||||||
.shorten_folder_marker
|
.shorten_folder_marker
|
||||||
.svn
|
.svn
|
||||||
.terraform
|
.terraform
|
||||||
|
|
@ -427,11 +430,17 @@
|
||||||
res+=" ${modified}wip"
|
res+=" ${modified}wip"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ⇣42 if behind the remote.
|
if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then
|
||||||
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
# ⇣42 if behind the remote.
|
||||||
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
||||||
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
||||||
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
||||||
|
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
||||||
|
elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then
|
||||||
|
# Tip: Uncomment the next line to display '=' if up to date with the remote.
|
||||||
|
# res+=" ${clean}="
|
||||||
|
fi
|
||||||
|
|
||||||
# ⇠42 if behind the push remote.
|
# ⇠42 if behind the push remote.
|
||||||
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
||||||
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
||||||
|
|
@ -721,6 +730,12 @@
|
||||||
typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178
|
typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# 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: nnn shell (https://github.com/jarun/nnn) ]#######################
|
||||||
# Nnn shell color.
|
# Nnn shell color.
|
||||||
|
|
@ -797,9 +812,8 @@
|
||||||
# Text and color for insert vi mode.
|
# Text and color for insert vi mode.
|
||||||
typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING=
|
typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING=
|
||||||
typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=66
|
typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=66
|
||||||
|
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_VI_MODE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
######################################[ ram: free RAM ]#######################################
|
######################################[ ram: free RAM ]#######################################
|
||||||
# RAM color.
|
# RAM color.
|
||||||
|
|
@ -881,6 +895,19 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
|
######[ per_directory_history: Oh My Zsh per-directory-history local/global indicator ]#######
|
||||||
|
# Color when using local/global history.
|
||||||
|
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=135
|
||||||
|
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=130
|
||||||
|
|
||||||
|
# Tip: Uncomment the next two lines to hide "local"/"global" text and leave just the icon.
|
||||||
|
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_CONTENT_EXPANSION=''
|
||||||
|
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_CONTENT_EXPANSION=''
|
||||||
|
|
||||||
|
# Custom icon.
|
||||||
|
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
################################[ cpu_arch: CPU architecture ]################################
|
################################[ cpu_arch: CPU architecture ]################################
|
||||||
# CPU architecture color.
|
# CPU architecture color.
|
||||||
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172
|
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172
|
||||||
|
|
@ -1350,7 +1377,7 @@
|
||||||
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
#[ 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.
|
# Show aws only when the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show aws.
|
# Tip: Remove the next line to always show aws.
|
||||||
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
# POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
|
# 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.
|
# in each pair defines a pattern against which the current AWS profile gets matched.
|
||||||
|
|
@ -1398,10 +1425,39 @@
|
||||||
# Show azure only when the command you are typing invokes one of these tools.
|
# Show azure only when the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show azure.
|
# 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|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.
|
||||||
|
# More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
|
||||||
|
# that gets matched. If you unset all POWERLEVEL9K_AZURE_*CONTENT_EXPANSION parameters,
|
||||||
|
# you'll see this value in your prompt. The second element of each pair in
|
||||||
|
# POWERLEVEL9K_AZURE_CLASSES defines the account class. Patterns are tried in order. The
|
||||||
|
# first match wins.
|
||||||
|
#
|
||||||
|
# For example, given these settings:
|
||||||
|
#
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
||||||
|
# '*prod*' PROD
|
||||||
|
# '*test*' TEST
|
||||||
|
# '*' OTHER)
|
||||||
|
#
|
||||||
|
# If your current azure account is "company_test", its class is TEST because "company_test"
|
||||||
|
# doesn't match the pattern '*prod*' but does match '*test*'.
|
||||||
|
#
|
||||||
|
# You can define different colors, icons and content expansions for different classes:
|
||||||
|
#
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_TEST_FOREGROUND=28
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
|
||||||
|
typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
||||||
|
# '*prod*' PROD # These values are examples that are unlikely
|
||||||
|
# '*test*' TEST # to match your needs. Customize them as needed.
|
||||||
|
'*' OTHER)
|
||||||
|
|
||||||
# Azure account name color.
|
# Azure account name color.
|
||||||
typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32
|
typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=32
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AZURE_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
||||||
# Show gcloud only when the command you are typing invokes one of these tools.
|
# Show gcloud only when the command you are typing invokes one of these tools.
|
||||||
|
|
@ -1622,7 +1678,7 @@
|
||||||
|
|
||||||
# User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
|
# 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
|
# 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
|
# 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
|
# and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
|
||||||
|
|
@ -1658,7 +1714,7 @@
|
||||||
# it incompatible with your zsh configuration files.
|
# it incompatible with your zsh configuration files.
|
||||||
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
||||||
# during zsh initialization. Choose this if you've read and understood
|
# 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
|
# - 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
|
# 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.
|
# seen the warning, or if you are unsure what this all means.
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,7 @@
|
||||||
context # user@hostname
|
context # user@hostname
|
||||||
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
|
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
|
||||||
ranger # ranger shell (https://github.com/ranger/ranger)
|
ranger # ranger shell (https://github.com/ranger/ranger)
|
||||||
|
yazi # yazi shell (https://github.com/sxyazi/yazi)
|
||||||
nnn # nnn shell (https://github.com/jarun/nnn)
|
nnn # nnn shell (https://github.com/jarun/nnn)
|
||||||
lf # lf shell (https://github.com/gokcehan/lf)
|
lf # lf shell (https://github.com/gokcehan/lf)
|
||||||
xplr # xplr shell (https://github.com/sayanarijit/xplr)
|
xplr # xplr shell (https://github.com/sayanarijit/xplr)
|
||||||
|
|
@ -96,6 +97,7 @@
|
||||||
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
||||||
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
||||||
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
||||||
|
per_directory_history # Oh My Zsh per-directory-history local/global indicator
|
||||||
# cpu_arch # CPU architecture
|
# cpu_arch # CPU architecture
|
||||||
# time # current time
|
# time # current time
|
||||||
# =========================[ Line #2 ]=========================
|
# =========================[ Line #2 ]=========================
|
||||||
|
|
@ -232,7 +234,8 @@
|
||||||
.java-version
|
.java-version
|
||||||
.perl-version
|
.perl-version
|
||||||
.php-version
|
.php-version
|
||||||
.tool-version
|
.tool-versions
|
||||||
|
.mise.toml
|
||||||
.shorten_folder_marker
|
.shorten_folder_marker
|
||||||
.svn
|
.svn
|
||||||
.terraform
|
.terraform
|
||||||
|
|
@ -275,10 +278,6 @@
|
||||||
# the full directory that was used in previous commands.
|
# the full directory that was used in previous commands.
|
||||||
typeset -g POWERLEVEL9K_DIR_HYPERLINK=false
|
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
|
# Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON
|
||||||
# and POWERLEVEL9K_DIR_CLASSES below.
|
# and POWERLEVEL9K_DIR_CLASSES below.
|
||||||
typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3
|
typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3
|
||||||
|
|
@ -422,11 +421,17 @@
|
||||||
res+=" ${modified}wip"
|
res+=" ${modified}wip"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ⇣42 if behind the remote.
|
if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then
|
||||||
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
# ⇣42 if behind the remote.
|
||||||
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
||||||
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
||||||
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
||||||
|
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
||||||
|
elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then
|
||||||
|
# Tip: Uncomment the next line to display '=' if up to date with the remote.
|
||||||
|
# res+=" ${clean}="
|
||||||
|
fi
|
||||||
|
|
||||||
# ⇠42 if behind the push remote.
|
# ⇠42 if behind the push remote.
|
||||||
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
||||||
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
||||||
|
|
@ -716,6 +721,12 @@
|
||||||
typeset -g POWERLEVEL9K_RANGER_FOREGROUND=3
|
typeset -g POWERLEVEL9K_RANGER_FOREGROUND=3
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# 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: nnn shell (https://github.com/jarun/nnn) ]#######################
|
||||||
# Nnn shell color.
|
# Nnn shell color.
|
||||||
|
|
@ -859,6 +870,19 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
|
######[ per_directory_history: Oh My Zsh per-directory-history local/global indicator ]#######
|
||||||
|
# Color when using local/global history.
|
||||||
|
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=5
|
||||||
|
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=3
|
||||||
|
|
||||||
|
# Tip: Uncomment the next two lines to hide "local"/"global" text and leave just the icon.
|
||||||
|
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_CONTENT_EXPANSION=''
|
||||||
|
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_CONTENT_EXPANSION=''
|
||||||
|
|
||||||
|
# Custom icon.
|
||||||
|
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
################################[ cpu_arch: CPU architecture ]################################
|
################################[ cpu_arch: CPU architecture ]################################
|
||||||
# CPU architecture color.
|
# CPU architecture color.
|
||||||
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=3
|
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=3
|
||||||
|
|
@ -1328,7 +1352,7 @@
|
||||||
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
#[ 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.
|
# Show aws only when the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show aws.
|
# Tip: Remove the next line to always show aws.
|
||||||
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
# POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
|
# 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.
|
# in each pair defines a pattern against which the current AWS profile gets matched.
|
||||||
|
|
@ -1376,10 +1400,39 @@
|
||||||
# Show azure only when the command you are typing invokes one of these tools.
|
# Show azure only when the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show azure.
|
# 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|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.
|
||||||
|
# More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
|
||||||
|
# that gets matched. If you unset all POWERLEVEL9K_AZURE_*CONTENT_EXPANSION parameters,
|
||||||
|
# you'll see this value in your prompt. The second element of each pair in
|
||||||
|
# POWERLEVEL9K_AZURE_CLASSES defines the account class. Patterns are tried in order. The
|
||||||
|
# first match wins.
|
||||||
|
#
|
||||||
|
# For example, given these settings:
|
||||||
|
#
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
||||||
|
# '*prod*' PROD
|
||||||
|
# '*test*' TEST
|
||||||
|
# '*' OTHER)
|
||||||
|
#
|
||||||
|
# If your current azure account is "company_test", its class is TEST because "company_test"
|
||||||
|
# doesn't match the pattern '*prod*' but does match '*test*'.
|
||||||
|
#
|
||||||
|
# You can define different colors, icons and content expansions for different classes:
|
||||||
|
#
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_TEST_FOREGROUND=2
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
|
||||||
|
typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
||||||
|
# '*prod*' PROD # These values are examples that are unlikely
|
||||||
|
# '*test*' TEST # to match your needs. Customize them as needed.
|
||||||
|
'*' OTHER)
|
||||||
|
|
||||||
# Azure account name color.
|
# Azure account name color.
|
||||||
typeset -g POWERLEVEL9K_AZURE_FOREGROUND=4
|
typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=4
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AZURE_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
||||||
# Show gcloud only when the command you are typing invokes one of these tools.
|
# Show gcloud only when the command you are typing invokes one of these tools.
|
||||||
|
|
@ -1600,7 +1653,7 @@
|
||||||
|
|
||||||
# User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
|
# 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
|
# 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
|
# 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
|
# and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
|
||||||
|
|
@ -1636,7 +1689,7 @@
|
||||||
# it incompatible with your zsh configuration files.
|
# it incompatible with your zsh configuration files.
|
||||||
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
||||||
# during zsh initialization. Choose this if you've read and understood
|
# 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
|
# - 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
|
# 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.
|
# seen the warning, or if you are unsure what this all means.
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,7 @@
|
||||||
context # user@hostname
|
context # user@hostname
|
||||||
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
|
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
|
||||||
ranger # ranger shell (https://github.com/ranger/ranger)
|
ranger # ranger shell (https://github.com/ranger/ranger)
|
||||||
|
yazi # yazi shell (https://github.com/sxyazi/yazi)
|
||||||
nnn # nnn shell (https://github.com/jarun/nnn)
|
nnn # nnn shell (https://github.com/jarun/nnn)
|
||||||
lf # lf shell (https://github.com/gokcehan/lf)
|
lf # lf shell (https://github.com/gokcehan/lf)
|
||||||
xplr # xplr shell (https://github.com/sayanarijit/xplr)
|
xplr # xplr shell (https://github.com/sayanarijit/xplr)
|
||||||
|
|
@ -96,6 +97,7 @@
|
||||||
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
||||||
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
||||||
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
||||||
|
per_directory_history # Oh My Zsh per-directory-history local/global indicator
|
||||||
# cpu_arch # CPU architecture
|
# cpu_arch # CPU architecture
|
||||||
# time # current time
|
# time # current time
|
||||||
# =========================[ Line #2 ]=========================
|
# =========================[ Line #2 ]=========================
|
||||||
|
|
@ -232,7 +234,8 @@
|
||||||
.java-version
|
.java-version
|
||||||
.perl-version
|
.perl-version
|
||||||
.php-version
|
.php-version
|
||||||
.tool-version
|
.tool-versions
|
||||||
|
.mise.toml
|
||||||
.shorten_folder_marker
|
.shorten_folder_marker
|
||||||
.svn
|
.svn
|
||||||
.terraform
|
.terraform
|
||||||
|
|
@ -418,11 +421,17 @@
|
||||||
res+=" ${modified}wip"
|
res+=" ${modified}wip"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ⇣42 if behind the remote.
|
if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then
|
||||||
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
# ⇣42 if behind the remote.
|
||||||
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
||||||
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
||||||
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
||||||
|
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
||||||
|
elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then
|
||||||
|
# Tip: Uncomment the next line to display '=' if up to date with the remote.
|
||||||
|
# res+=" ${clean}="
|
||||||
|
fi
|
||||||
|
|
||||||
# ⇠42 if behind the push remote.
|
# ⇠42 if behind the push remote.
|
||||||
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
||||||
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
||||||
|
|
@ -712,6 +721,12 @@
|
||||||
typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178
|
typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# 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: nnn shell (https://github.com/jarun/nnn) ]#######################
|
||||||
# Nnn shell color.
|
# Nnn shell color.
|
||||||
|
|
@ -855,6 +870,19 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
|
######[ per_directory_history: Oh My Zsh per-directory-history local/global indicator ]#######
|
||||||
|
# Color when using local/global history.
|
||||||
|
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=135
|
||||||
|
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=130
|
||||||
|
|
||||||
|
# Tip: Uncomment the next two lines to hide "local"/"global" text and leave just the icon.
|
||||||
|
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_CONTENT_EXPANSION=''
|
||||||
|
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_CONTENT_EXPANSION=''
|
||||||
|
|
||||||
|
# Custom icon.
|
||||||
|
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
################################[ cpu_arch: CPU architecture ]################################
|
################################[ cpu_arch: CPU architecture ]################################
|
||||||
# CPU architecture color.
|
# CPU architecture color.
|
||||||
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172
|
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172
|
||||||
|
|
@ -1324,7 +1352,7 @@
|
||||||
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
#[ 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.
|
# Show aws only when the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show aws.
|
# Tip: Remove the next line to always show aws.
|
||||||
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
# POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
|
# 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.
|
# in each pair defines a pattern against which the current AWS profile gets matched.
|
||||||
|
|
@ -1372,10 +1400,39 @@
|
||||||
# Show azure only when the command you are typing invokes one of these tools.
|
# Show azure only when the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show azure.
|
# 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|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.
|
||||||
|
# More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
|
||||||
|
# that gets matched. If you unset all POWERLEVEL9K_AZURE_*CONTENT_EXPANSION parameters,
|
||||||
|
# you'll see this value in your prompt. The second element of each pair in
|
||||||
|
# POWERLEVEL9K_AZURE_CLASSES defines the account class. Patterns are tried in order. The
|
||||||
|
# first match wins.
|
||||||
|
#
|
||||||
|
# For example, given these settings:
|
||||||
|
#
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
||||||
|
# '*prod*' PROD
|
||||||
|
# '*test*' TEST
|
||||||
|
# '*' OTHER)
|
||||||
|
#
|
||||||
|
# If your current azure account is "company_test", its class is TEST because "company_test"
|
||||||
|
# doesn't match the pattern '*prod*' but does match '*test*'.
|
||||||
|
#
|
||||||
|
# You can define different colors, icons and content expansions for different classes:
|
||||||
|
#
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_TEST_FOREGROUND=28
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
|
||||||
|
typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
||||||
|
# '*prod*' PROD # These values are examples that are unlikely
|
||||||
|
# '*test*' TEST # to match your needs. Customize them as needed.
|
||||||
|
'*' OTHER)
|
||||||
|
|
||||||
# Azure account name color.
|
# Azure account name color.
|
||||||
typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32
|
typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=32
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AZURE_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
||||||
# Show gcloud only when the command you are typing invokes one of these tools.
|
# Show gcloud only when the command you are typing invokes one of these tools.
|
||||||
|
|
@ -1596,7 +1653,7 @@
|
||||||
|
|
||||||
# User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
|
# 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
|
# 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
|
# 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
|
# and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
|
||||||
|
|
@ -1632,7 +1689,7 @@
|
||||||
# it incompatible with your zsh configuration files.
|
# it incompatible with your zsh configuration files.
|
||||||
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
||||||
# during zsh initialization. Choose this if you've read and understood
|
# 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
|
# - 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
|
# 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.
|
# seen the warning, or if you are unsure what this all means.
|
||||||
|
|
|
||||||
|
|
@ -169,7 +169,7 @@
|
||||||
# it incompatible with your zsh configuration files.
|
# it incompatible with your zsh configuration files.
|
||||||
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
||||||
# during zsh initialization. Choose this if you've read and understood
|
# 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
|
# - 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
|
# 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.
|
# seen the warning, or if you are unsure what this all means.
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,7 @@
|
||||||
context # user@hostname
|
context # user@hostname
|
||||||
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
|
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
|
||||||
ranger # ranger shell (https://github.com/ranger/ranger)
|
ranger # ranger shell (https://github.com/ranger/ranger)
|
||||||
|
yazi # yazi shell (https://github.com/sxyazi/yazi)
|
||||||
nnn # nnn shell (https://github.com/jarun/nnn)
|
nnn # nnn shell (https://github.com/jarun/nnn)
|
||||||
lf # lf shell (https://github.com/gokcehan/lf)
|
lf # lf shell (https://github.com/gokcehan/lf)
|
||||||
xplr # xplr shell (https://github.com/sayanarijit/xplr)
|
xplr # xplr shell (https://github.com/sayanarijit/xplr)
|
||||||
|
|
@ -97,6 +98,7 @@
|
||||||
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
todo # todo items (https://github.com/todotxt/todo.txt-cli)
|
||||||
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
timewarrior # timewarrior tracking status (https://timewarrior.net/)
|
||||||
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
taskwarrior # taskwarrior task count (https://taskwarrior.org/)
|
||||||
|
per_directory_history # Oh My Zsh per-directory-history local/global indicator
|
||||||
# cpu_arch # CPU architecture
|
# cpu_arch # CPU architecture
|
||||||
# time # current time
|
# time # current time
|
||||||
# =========================[ Line #2 ]=========================
|
# =========================[ Line #2 ]=========================
|
||||||
|
|
@ -241,7 +243,8 @@
|
||||||
.java-version
|
.java-version
|
||||||
.perl-version
|
.perl-version
|
||||||
.php-version
|
.php-version
|
||||||
.tool-version
|
.tool-versions
|
||||||
|
.mise.toml
|
||||||
.shorten_folder_marker
|
.shorten_folder_marker
|
||||||
.svn
|
.svn
|
||||||
.terraform
|
.terraform
|
||||||
|
|
@ -428,11 +431,17 @@
|
||||||
res+=" ${modified}wip"
|
res+=" ${modified}wip"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ⇣42 if behind the remote.
|
if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then
|
||||||
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
# ⇣42 if behind the remote.
|
||||||
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}"
|
||||||
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
|
||||||
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
|
||||||
|
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}"
|
||||||
|
elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then
|
||||||
|
# Tip: Uncomment the next line to display '=' if up to date with the remote.
|
||||||
|
# res+=" ${clean}="
|
||||||
|
fi
|
||||||
|
|
||||||
# ⇠42 if behind the push remote.
|
# ⇠42 if behind the push remote.
|
||||||
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}"
|
||||||
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
|
||||||
|
|
@ -740,7 +749,14 @@
|
||||||
typeset -g POWERLEVEL9K_RANGER_BACKGROUND=0
|
typeset -g POWERLEVEL9K_RANGER_BACKGROUND=0
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# 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: nnn shell (https://github.com/jarun/nnn) ]#######################
|
||||||
# Nnn shell color.
|
# Nnn shell color.
|
||||||
typeset -g POWERLEVEL9K_NNN_FOREGROUND=0
|
typeset -g POWERLEVEL9K_NNN_FOREGROUND=0
|
||||||
|
|
@ -828,6 +844,8 @@
|
||||||
# Text and color for insert vi mode.
|
# Text and color for insert vi mode.
|
||||||
typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING=
|
typeset -g POWERLEVEL9K_VI_INSERT_MODE_STRING=
|
||||||
typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=8
|
typeset -g POWERLEVEL9K_VI_MODE_INSERT_FOREGROUND=8
|
||||||
|
# Custom icon.
|
||||||
|
# typeset -g POWERLEVEL9K_VI_MODE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
######################################[ ram: free RAM ]#######################################
|
######################################[ ram: free RAM ]#######################################
|
||||||
# RAM color.
|
# RAM color.
|
||||||
|
|
@ -918,6 +936,21 @@
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
|
######[ per_directory_history: Oh My Zsh per-directory-history local/global indicator ]#######
|
||||||
|
# Color when using local/global history.
|
||||||
|
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=0
|
||||||
|
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_BACKGROUND=5
|
||||||
|
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=0
|
||||||
|
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_BACKGROUND=3
|
||||||
|
|
||||||
|
# Tip: Uncomment the next two lines to hide "local"/"global" text and leave just the icon.
|
||||||
|
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_CONTENT_EXPANSION=''
|
||||||
|
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_CONTENT_EXPANSION=''
|
||||||
|
|
||||||
|
# Custom icon.
|
||||||
|
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
################################[ cpu_arch: CPU architecture ]################################
|
################################[ cpu_arch: CPU architecture ]################################
|
||||||
# CPU architecture color.
|
# CPU architecture color.
|
||||||
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=0
|
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=0
|
||||||
|
|
@ -1426,7 +1459,7 @@
|
||||||
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
|
#[ 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.
|
# Show aws only when the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show aws.
|
# Tip: Remove the next line to always show aws.
|
||||||
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi|terragrunt'
|
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt'
|
||||||
|
|
||||||
# POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
|
# 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.
|
# in each pair defines a pattern against which the current AWS profile gets matched.
|
||||||
|
|
@ -1476,11 +1509,41 @@
|
||||||
# Show azure only when the command you are typing invokes one of these tools.
|
# Show azure only when the command you are typing invokes one of these tools.
|
||||||
# Tip: Remove the next line to always show azure.
|
# 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|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.
|
||||||
|
# More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
|
||||||
|
# that gets matched. If you unset all POWERLEVEL9K_AZURE_*CONTENT_EXPANSION parameters,
|
||||||
|
# you'll see this value in your prompt. The second element of each pair in
|
||||||
|
# POWERLEVEL9K_AZURE_CLASSES defines the account class. Patterns are tried in order. The
|
||||||
|
# first match wins.
|
||||||
|
#
|
||||||
|
# For example, given these settings:
|
||||||
|
#
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
||||||
|
# '*prod*' PROD
|
||||||
|
# '*test*' TEST
|
||||||
|
# '*' OTHER)
|
||||||
|
#
|
||||||
|
# If your current azure account is "company_test", its class is TEST because "company_test"
|
||||||
|
# doesn't match the pattern '*prod*' but does match '*test*'.
|
||||||
|
#
|
||||||
|
# You can define different colors, icons and content expansions for different classes:
|
||||||
|
#
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_TEST_FOREGROUND=2
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_TEST_BACKGROUND=0
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
# typeset -g POWERLEVEL9K_AZURE_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
|
||||||
|
typeset -g POWERLEVEL9K_AZURE_CLASSES=(
|
||||||
|
# '*prod*' PROD # These values are examples that are unlikely
|
||||||
|
# '*test*' TEST # to match your needs. Customize them as needed.
|
||||||
|
'*' OTHER)
|
||||||
|
|
||||||
# Azure account name color.
|
# Azure account name color.
|
||||||
typeset -g POWERLEVEL9K_AZURE_FOREGROUND=7
|
typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=7
|
||||||
typeset -g POWERLEVEL9K_AZURE_BACKGROUND=4
|
typeset -g POWERLEVEL9K_AZURE_OTHER_BACKGROUND=4
|
||||||
# Custom icon.
|
# Custom icon.
|
||||||
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
# typeset -g POWERLEVEL9K_AZURE_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||||
|
|
||||||
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
|
||||||
# Show gcloud only when the command you are typing invokes one of these tools.
|
# Show gcloud only when the command you are typing invokes one of these tools.
|
||||||
|
|
@ -1712,7 +1775,7 @@
|
||||||
|
|
||||||
# User-defined prompt segments may optionally provide an instant_prompt_* function. Its job
|
# 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
|
# 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
|
# 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
|
# and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k
|
||||||
|
|
@ -1749,7 +1812,7 @@
|
||||||
# it incompatible with your zsh configuration files.
|
# it incompatible with your zsh configuration files.
|
||||||
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
||||||
# during zsh initialization. Choose this if you've read and understood
|
# 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
|
# - 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
|
# 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.
|
# seen the warning, or if you are unsure what this all means.
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@
|
||||||
# it incompatible with your zsh configuration files.
|
# it incompatible with your zsh configuration files.
|
||||||
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
# - quiet: Enable instant prompt and don't print warnings when detecting console output
|
||||||
# during zsh initialization. Choose this if you've read and understood
|
# 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
|
# - 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
|
# 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.
|
# seen the warning, or if you are unsure what this all means.
|
||||||
|
|
|
||||||
35
font.md
35
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* (<kbd>Ctrl+,</kbd>), click
|
- **Windows Terminal** by Microsoft (the new thing): Open *Settings* (<kbd>Ctrl+,</kbd>), click
|
||||||
either on the selected profile under *Profiles* or on *Defaults*, click *Appearance* and set
|
either on the selected profile under *Profiles* or on *Defaults*, click *Appearance* and set
|
||||||
*Font face* to `MesloLGS NF`.
|
*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 →
|
- **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
|
Color Scheme → Console Font*. Select *Use console font instead of the default* and set the font
|
||||||
name to `MesloLGS NF`.
|
name to `MesloLGS NF`.
|
||||||
|
|
@ -62,7 +63,7 @@ If you are using a different terminal, proceed with manual font installation.
|
||||||
*Meslo Nerd Font*.
|
*Meslo Nerd Font*.
|
||||||
- **Blink**: Type `config`, go to *Appearance*, tap *Add a new font*, tap *Open Gallery*, select
|
- **Blink**: Type `config`, go to *Appearance*, tap *Add a new font*, tap *Open Gallery*, select
|
||||||
*MesloLGS NF.css*, tap *import* and type `exit` in the home view to reload the font.
|
*MesloLGS NF.css*, tap *import* and type `exit` in the home view to reload the font.
|
||||||
- **Terminus**: Open *Settings → Appearance* and set *Font* to `MesloLGS NF`.
|
- **Tabby** (formerly **Terminus**): Open *Settings → Appearance* and set *Font* to `MesloLGS NF`.
|
||||||
- **Terminator**: Open *Preferences* using the context menu. Under *Profiles* select the *General*
|
- **Terminator**: Open *Preferences* using the context menu. Under *Profiles* select the *General*
|
||||||
tab (should be selected already), uncheck *Use the system fixed width font* (if not already)
|
tab (should be selected already), uncheck *Use the system fixed width font* (if not already)
|
||||||
and select `MesloLGS NF Regular`. Exit the Preferences dialog by clicking *Close*.
|
and select `MesloLGS NF Regular`. Exit the Preferences dialog by clicking *Close*.
|
||||||
|
|
@ -70,22 +71,29 @@ 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`.
|
tab, uncheck *Use the system fixed width font* (if not already) and select `MesloLGS NF Regular`.
|
||||||
Exit the Preferences dialog by clicking *Close*.
|
Exit the Preferences dialog by clicking *Close*.
|
||||||
- **MobaXterm**: Open *Settings* → *Configuration* → *Terminal* → (under *Terminal look and feel*)
|
- **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
|
- **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`.
|
*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 →
|
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`.
|
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
|
- **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`.
|
*Font*, click *"Select..."* and set Font to `MesloLGS NF Regular`.
|
||||||
- **Yakuake**: Click *≡* → *Manage Profiles* → *New* → *Appearance*. Click *Choose* next to the
|
- **Yakuake**: Click *≡* → *Manage Profiles* → *New* → *Appearance*. Click *Choose* next to the
|
||||||
*Font* dropdown, select `MesloLGS NF` and click *OK*. Click *OK* to save the profile. Select the
|
*Font* dropdown, select `MesloLGS NF` and click *OK*. Click *OK* to save the profile. Select the
|
||||||
new profile and click *Set as Default*.
|
new profile and click *Set as Default*.
|
||||||
- **Alacritty**: Create or open `~/.config/alacritty/alacritty.yml` and add the following section
|
- **Alacritty**: Create or open `~/.config/alacritty/alacritty.toml` and add the following
|
||||||
to it:
|
section to it:
|
||||||
```yaml
|
```toml
|
||||||
font:
|
[font.normal]
|
||||||
normal:
|
family = "MesloLGS NF"
|
||||||
family: "MesloLGS NF"
|
```
|
||||||
|
- **foot**: Create or open `~/.config/foot/foot.ini` and add the following section to it:
|
||||||
|
```ini
|
||||||
|
font=MesloLGS NF:size=12
|
||||||
```
|
```
|
||||||
- **kitty**: Create or open `~/.config/kitty/kitty.conf` and add the following line to it:
|
- **kitty**: Create or open `~/.config/kitty/kitty.conf` and add the following line to it:
|
||||||
```text
|
```text
|
||||||
|
|
@ -154,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.
|
**_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
|
1. Run `p10k configure` to generate a new `~/.p10k.zsh`. The old config may work
|
||||||
incorrectly with the new font.
|
incorrectly with the new font.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
# Sized delete is implemented as __ZdlPvm in /usr/lib/libc++.1.dylib but this symbol is
|
||||||
# missing in macOS prior to 10.13.
|
# 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
|
LDFLAGS += -pthread # -fsanitize=thread
|
||||||
LDLIBS += -lgit2 # -lprofiler -lunwind
|
LDLIBS += -lgit2 # -lprofiler -lunwind
|
||||||
|
|
||||||
|
|
@ -44,3 +44,14 @@ pkg: zwc
|
||||||
GITSTATUS_DAEMON= GITSTATUS_CACHE_DIR=$(shell pwd)/usrbin ./install -f
|
GITSTATUS_DAEMON= GITSTATUS_CACHE_DIR=$(shell pwd)/usrbin ./install -f
|
||||||
|
|
||||||
-include $(OBJS:.o=.dep)
|
-include $(OBJS:.o=.dep)
|
||||||
|
|
||||||
|
.PHONY: help
|
||||||
|
|
||||||
|
help:
|
||||||
|
@echo "Usage: make [TARGET]"
|
||||||
|
@echo "Available targets:"
|
||||||
|
@echo " all Build $(APPNAME) (default target)"
|
||||||
|
@echo " clean Remove generated files and directories"
|
||||||
|
@echo " zwc Compile Zsh files"
|
||||||
|
@echo " minify Remove unnecessary files and folders"
|
||||||
|
@echo " pkg Create a package"
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
# gitstatus
|
# 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
|
**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.
|
case is to enable fast git prompt in interactive shells.
|
||||||
|
|
||||||
|
|
@ -255,7 +259,7 @@ repository was checked out to an ext4 filesystem on M.2 SSD.
|
||||||
Three functionally equivalent tools for computing git status were benchmarked:
|
Three functionally equivalent tools for computing git status were benchmarked:
|
||||||
|
|
||||||
* `gitstatusd`
|
* `gitstatusd`
|
||||||
* `git` with untracked cache enabled
|
* `git` with `core.untrackedcache` enabled and `core.fsmonitor` disabled
|
||||||
* `lg2` -- a demo/example executable from [libgit2](https://github.com/romkatv/libgit2) that
|
* `lg2` -- a demo/example executable from [libgit2](https://github.com/romkatv/libgit2) that
|
||||||
implements a subset of `git` functionality on top of libgit2 API; for the purposes of this
|
implements a subset of `git` functionality on top of libgit2 API; for the purposes of this
|
||||||
benchmark the subset is sufficient to generate the same data as the other tools
|
benchmark the subset is sufficient to generate the same data as the other tools
|
||||||
|
|
@ -381,7 +385,7 @@ generated with the same tools and the same flags as the profile of libgit2.
|
||||||
|
|
||||||
Since both profiles were generated from the same workload, absolute numbers can be compared. We can
|
Since both profiles were generated from the same workload, absolute numbers can be compared. We can
|
||||||
see that gitstatusd took 62 seconds in total compared to libgit2's 232 seconds. System calls at the
|
see that gitstatusd took 62 seconds in total compared to libgit2's 232 seconds. System calls at the
|
||||||
core of the algorithm are cleary visible. `__GI___fxstatat` is a flavor of `stat()`, and the other
|
core of the algorithm are clearly visible. `__GI___fxstatat` is a flavor of `stat()`, and the other
|
||||||
three calls -- `__libc_openat64`, `__libc_close` and `__GI___fxstat` are responsible for opening
|
three calls -- `__libc_openat64`, `__libc_close` and `__GI___fxstat` are responsible for opening
|
||||||
directories and finding untracked files. Notice that there is almost nothing else in the profile
|
directories and finding untracked files. Notice that there is almost nothing else in the profile
|
||||||
apart from these calls. The rest of the code accounts for 3.77 seconds of CPU time -- 32 times less
|
apart from these calls. The rest of the code accounts for 3.77 seconds of CPU time -- 32 times less
|
||||||
|
|
|
||||||
|
|
@ -153,7 +153,16 @@ case "$gitstatus_cpu" in
|
||||||
;;
|
;;
|
||||||
esac
|
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=
|
ldflags=
|
||||||
static_pie=
|
static_pie=
|
||||||
|
|
||||||
|
|
@ -384,6 +393,7 @@ CFLAGS="$libgit2_cflags" command cmake \
|
||||||
-DUSE_GSSAPI=OFF \
|
-DUSE_GSSAPI=OFF \
|
||||||
-DUSE_NTLMCLIENT=OFF \
|
-DUSE_NTLMCLIENT=OFF \
|
||||||
-DBUILD_SHARED_LIBS=OFF \
|
-DBUILD_SHARED_LIBS=OFF \
|
||||||
|
-G "Unix Makefiles" \
|
||||||
$libgit2_cmake_flags \
|
$libgit2_cmake_flags \
|
||||||
..
|
..
|
||||||
command make -j "$cpus" VERBOSE=1
|
command make -j "$cpus" VERBOSE=1
|
||||||
|
|
@ -545,6 +555,7 @@ if [ -z "$gitstatus_cpu" ]; then
|
||||||
x86_64|amd64) gitstatus_cpu=x86-64;;
|
x86_64|amd64) gitstatus_cpu=x86-64;;
|
||||||
x86) gitstatus_cpu=i586;;
|
x86) gitstatus_cpu=i586;;
|
||||||
s390x) gitstatus_cpu=z900;;
|
s390x) gitstatus_cpu=z900;;
|
||||||
|
e2k) gitstatus_cpu=native;;
|
||||||
i386|i586|i686) gitstatus_cpu="$gitstatus_arch";;
|
i386|i586|i686) gitstatus_cpu="$gitstatus_arch";;
|
||||||
*)
|
*)
|
||||||
>&2 echo '[error] unable to infer target CPU architecture'
|
>&2 echo '[error] unable to infer target CPU architecture'
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
# This value is also read by shell bindings (indirectly, through
|
# This value is also read by shell bindings (indirectly, through
|
||||||
# ./install) when using GITSTATUS_DAEMON or usrbin/gitstatusd.
|
# ./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 is a build time dependency of gitstatusd. The values of
|
||||||
# libgit2_version and libgit2_sha256 are read by ./build.
|
# libgit2_version and libgit2_sha256 are read by ./build.
|
||||||
|
|
@ -18,5 +18,5 @@ gitstatus_version="v1.5.4"
|
||||||
#
|
#
|
||||||
# If sha256 of ./deps/libgit2-${libgit2_version}.tar.gz doesn't match,
|
# If sha256 of ./deps/libgit2-${libgit2_version}.tar.gz doesn't match,
|
||||||
# build gets aborted.
|
# build gets aborted.
|
||||||
libgit2_version="tag-0ad3d776aa86dd607dc86dcd7f77ad3ed7ebec61"
|
libgit2_version="tag-2ecf33948a4df9ef45a66c68b8ef24a5e60eaac6"
|
||||||
libgit2_sha256="c5d0117ae74d3ef244c26f10cce022019077dbc4563e6251fa9f56d36868ce74"
|
libgit2_sha256="4ce11d71ee576dbbc410b9fa33a9642809cc1fa687b315f7c23eeb825b251e93"
|
||||||
|
|
|
||||||
|
|
@ -290,7 +290,7 @@ function gitstatus_stop() {
|
||||||
unset _GITSTATUS_DIRTY_MAX_INDEX_SIZE _GITSTATUS_CLIENT_PID
|
unset _GITSTATUS_DIRTY_MAX_INDEX_SIZE _GITSTATUS_CLIENT_PID
|
||||||
}
|
}
|
||||||
|
|
||||||
# Retrives status of a git repository from a directory under its working tree.
|
# Retrieves status of a git repository from a directory under its working tree.
|
||||||
#
|
#
|
||||||
# Usage: gitstatus_query [OPTION]...
|
# Usage: gitstatus_query [OPTION]...
|
||||||
#
|
#
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ zmodload -F zsh/files b:zf_rm || return
|
||||||
|
|
||||||
typeset -g _gitstatus_plugin_dir"${1:-}"="${${(%):-%x}:A:h}"
|
typeset -g _gitstatus_plugin_dir"${1:-}"="${${(%):-%x}:A:h}"
|
||||||
|
|
||||||
# Retrives status of a git repo from a directory under its working tree.
|
# Retrieves status of a git repo from a directory under its working tree.
|
||||||
#
|
#
|
||||||
## Usage: gitstatus_query [OPTION]... NAME
|
## Usage: gitstatus_query [OPTION]... NAME
|
||||||
#
|
#
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# Source gitstatus.plugin.sh from $GITSTATUS_DIR or from the same directory
|
# Source gitstatus.plugin.sh from $GITSTATUS_DIR or from the same directory
|
||||||
# in which the current script resides if the variable isn't set.
|
# in which the current script resides if the variable isn't set.
|
||||||
if [[ -n "${GITSTATUS_DIR:-}" ]]; then
|
if [[ -n "${GITSTATUS_DIR-}" ]]; then
|
||||||
source "$GITSTATUS_DIR" || return
|
source "$GITSTATUS_DIR" || return
|
||||||
elif [[ "${BASH_SOURCE[0]}" == */* ]]; then
|
elif [[ "${BASH_SOURCE[0]}" == */* ]]; then
|
||||||
source "${BASH_SOURCE[0]%/*}/gitstatus.plugin.sh" || return
|
source "${BASH_SOURCE[0]%/*}/gitstatus.plugin.sh" || return
|
||||||
|
|
@ -85,7 +85,14 @@ function gitstatus_prompt_update() {
|
||||||
gitstatus_stop && gitstatus_start -s -1 -u -1 -c -1 -d -1
|
gitstatus_stop && gitstatus_start -s -1 -u -1 -c -1 -d -1
|
||||||
|
|
||||||
# On every prompt, fetch git status and set GITSTATUS_PROMPT.
|
# On every prompt, fetch git status and set GITSTATUS_PROMPT.
|
||||||
PROMPT_COMMAND=gitstatus_prompt_update
|
if [[ -z "${PROMPT_COMMAND[*]}" ]]; then
|
||||||
|
PROMPT_COMMAND=gitstatus_prompt_update
|
||||||
|
elif [[ ! "${PROMPT_COMMAND[*]}" =~ [[:space:]\;]?gitstatus_prompt_update[[:space:]\;]? ]]; then
|
||||||
|
# Note: If PROMPT_COMMAND is an array, this will modify its first element.
|
||||||
|
PROMPT_COMMAND=$'gitstatus_prompt_update\n'"$PROMPT_COMMAND"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Retain 3 trailing components of the current directory.
|
||||||
PROMPT_DIRTRIM=3
|
PROMPT_DIRTRIM=3
|
||||||
|
|
||||||
# Enable promptvars so that ${GITSTATUS_PROMPT} in PS1 is expanded.
|
# Enable promptvars so that ${GITSTATUS_PROMPT} in PS1 is expanded.
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
|
||||||
// The argument must be an expression convertible to bool.
|
// The argument must be an expression convertible to bool.
|
||||||
// Does nothing if the expression evalutes to true. Otherwise
|
// Does nothing if the expression evaluates to true. Otherwise
|
||||||
// it's equivalent to LOG(FATAL).
|
// it's equivalent to LOG(FATAL).
|
||||||
#define CHECK(cond...) \
|
#define CHECK(cond...) \
|
||||||
static_cast<void>(0), (!!(cond)) ? static_cast<void>(0) : LOG(FATAL) << #cond << ": "
|
static_cast<void>(0), (!!(cond)) ? static_cast<void>(0) : LOG(FATAL) << #cond << ": "
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
namespace gitstatus {
|
namespace gitstatus {
|
||||||
|
|
||||||
// On error, leaves entries unchaged and returns false. Does not throw.
|
// On error, leaves entries unchanged and returns false. Does not throw.
|
||||||
//
|
//
|
||||||
// On success, appends names of files from the specified directory to entries and returns true.
|
// On success, appends names of files from the specified directory to entries and returns true.
|
||||||
// Every appended entry is a null-terminated string. At -1 offset is its d_type. All elements
|
// Every appended entry is a null-terminated string. At -1 offset is its d_type. All elements
|
||||||
|
|
|
||||||
|
|
@ -61,7 +61,7 @@ size_t ParseSizeT(const char* s) {
|
||||||
|
|
||||||
void PrintUsage() {
|
void PrintUsage() {
|
||||||
std::cout << "Usage: gitstatusd [OPTION]...\n"
|
std::cout << "Usage: gitstatusd [OPTION]...\n"
|
||||||
<< "Print machine-readable status of the git repos for directores in stdin.\n"
|
<< "Print machine-readable status of the git repos for directories in stdin.\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< "OPTIONS\n"
|
<< "OPTIONS\n"
|
||||||
<< " -l, --lock-fd=NUM [default=-1]\n"
|
<< " -l, --lock-fd=NUM [default=-1]\n"
|
||||||
|
|
@ -78,7 +78,7 @@ void PrintUsage() {
|
||||||
<< " maximum performance.\n"
|
<< " maximum performance.\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< " -v, --log-level=STR [default=INFO]\n"
|
<< " -v, --log-level=STR [default=INFO]\n"
|
||||||
<< " Don't write entires to log whose log level is below this. Log levels in\n"
|
<< " Don't write entries to log whose log level is below this. Log levels in\n"
|
||||||
<< " increasing order: DEBUG, INFO, WARN, ERROR, FATAL.\n"
|
<< " increasing order: DEBUG, INFO, WARN, ERROR, FATAL.\n"
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< " -r, --repo-ttl-seconds=NUM [default=3600]\n"
|
<< " -r, --repo-ttl-seconds=NUM [default=3600]\n"
|
||||||
|
|
@ -141,7 +141,7 @@ void PrintUsage() {
|
||||||
<< "\n"
|
<< "\n"
|
||||||
<< " 1. Request ID. Any string. Can be empty.\n"
|
<< " 1. Request ID. Any string. Can be empty.\n"
|
||||||
<< " 2. Path to the directory for which git stats are being requested.\n"
|
<< " 2. Path to the directory for which git stats are being requested.\n"
|
||||||
<< " If the first character is ':', it is removed and the remaning path\n"
|
<< " If the first character is ':', it is removed and the remaining path\n"
|
||||||
<< " is treated as GIT_DIR.\n"
|
<< " is treated as GIT_DIR.\n"
|
||||||
<< " 3. (Optional) '1' to disable computation of anything that requires reading\n"
|
<< " 3. (Optional) '1' to disable computation of anything that requires reading\n"
|
||||||
<< " git index; '0' for the default behavior of computing everything.\n"
|
<< " git index; '0' for the default behavior of computing everything.\n"
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ struct Options : Limits {
|
||||||
// If non-negative, send signal 0 to the specified PID when not receiving any requests for one
|
// If non-negative, send signal 0 to the specified PID when not receiving any requests for one
|
||||||
// second; exit if signal sending fails.
|
// second; exit if signal sending fails.
|
||||||
int parent_pid = -1;
|
int parent_pid = -1;
|
||||||
// Don't write entires to log whose log level is below this. Log levels in increasing order:
|
// Don't write entries to log whose log level is below this. Log levels in increasing order:
|
||||||
// DEBUG, INFO, WARN, ERROR, FATAL.
|
// DEBUG, INFO, WARN, ERROR, FATAL.
|
||||||
LogLevel log_level = INFO;
|
LogLevel log_level = INFO;
|
||||||
// Close git repositories that haven't been used for this long. This is meant to release resources
|
// Close git repositories that haven't been used for this long. This is meant to release resources
|
||||||
|
|
|
||||||
|
|
@ -155,7 +155,7 @@ IndexStats Repo::GetIndexStats(const git_oid* head, git_config* cfg) {
|
||||||
VERIFY(!git_repository_index(&git_index_, repo_)) << GitError();
|
VERIFY(!git_repository_index(&git_index_, repo_)) << GitError();
|
||||||
// Query an attribute (doesn't matter which) to initialize repo's attribute
|
// Query an attribute (doesn't matter which) to initialize repo's attribute
|
||||||
// cache. It's a workaround for synchronization bugs (data races) in libgit2
|
// cache. It's a workaround for synchronization bugs (data races) in libgit2
|
||||||
// that result from lazy cache initialization without synchrnonization.
|
// that result from lazy cache initialization without synchronization.
|
||||||
// Thankfully, subsequent cache reads and writes are properly synchronized.
|
// Thankfully, subsequent cache reads and writes are properly synchronized.
|
||||||
const char* attr;
|
const char* attr;
|
||||||
VERIFY(!git_attr_get(&attr, repo_, 0, "x", "x")) << GitError();
|
VERIFY(!git_attr_get(&attr, repo_, 0, "x", "x")) << GitError();
|
||||||
|
|
|
||||||
|
|
@ -268,7 +268,7 @@ void TagDb::ParsePack() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!std::is_sorted(name2id_.begin(), name2id_.end(), ByName)) {
|
if (!std::is_sorted(name2id_.begin(), name2id_.end(), ByName)) {
|
||||||
// "sorted" in the header of packed-refs promisses that this won't trigger.
|
// "sorted" in the header of packed-refs promises that this won't trigger.
|
||||||
std::sort(name2id_.begin(), name2id_.end(), ByName);
|
std::sort(name2id_.begin(), name2id_.end(), ByName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@ function _p9k_can_configure() {
|
||||||
typeset -g __p9k_cfg_path=${__p9k_cfg_path_o:A}
|
typeset -g __p9k_cfg_path=${__p9k_cfg_path_o:A}
|
||||||
typeset -g __p9k_cfg_path_u=${${${(q)__p9k_cfg_path_o}/#(#b)${(q)HOME}(|\/*)/'~'$match[1]}//\%/%%}
|
typeset -g __p9k_cfg_path_u=${${${(q)__p9k_cfg_path_o}/#(#b)${(q)HOME}(|\/*)/'~'$match[1]}//\%/%%}
|
||||||
{
|
{
|
||||||
[[ -o multibyte ]] || { $0_error "multibyte option is not set"; return 1 }
|
|
||||||
[[ -e $__p9k_zd ]] || { $0_error "$__p9k_zd_u does not exist"; return 1 }
|
[[ -e $__p9k_zd ]] || { $0_error "$__p9k_zd_u does not exist"; return 1 }
|
||||||
[[ -d $__p9k_zd ]] || { $0_error "$__p9k_zd_u is not a directory"; return 1 }
|
[[ -d $__p9k_zd ]] || { $0_error "$__p9k_zd_u is not a directory"; return 1 }
|
||||||
[[ ! -d $__p9k_cfg_path ]] || { $0_error "$__p9k_cfg_path_u is a directory"; return 1 }
|
[[ ! -d $__p9k_cfg_path ]] || { $0_error "$__p9k_cfg_path_u is a directory"; return 1 }
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,10 @@ function _p9k_init_icons() {
|
||||||
LINUX_RHEL_ICON '\uE271'$s #
|
LINUX_RHEL_ICON '\uE271'$s #
|
||||||
LINUX_AMZN_ICON '\uE271'$s #
|
LINUX_AMZN_ICON '\uE271'$s #
|
||||||
LINUX_ENDEAVOUROS_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 # 🌞
|
SUNOS_ICON '\U1F31E'$q # 🌞
|
||||||
HOME_ICON '\uE12C'$s #
|
HOME_ICON '\uE12C'$s #
|
||||||
HOME_SUB_ICON '\uE18D'$s #
|
HOME_SUB_ICON '\uE18D'$s #
|
||||||
|
|
@ -103,6 +107,18 @@ function _p9k_init_icons() {
|
||||||
VCS_GIT_GITHUB_ICON '\uE20E ' #
|
VCS_GIT_GITHUB_ICON '\uE20E ' #
|
||||||
VCS_GIT_BITBUCKET_ICON '\uE20E ' #
|
VCS_GIT_BITBUCKET_ICON '\uE20E ' #
|
||||||
VCS_GIT_GITLAB_ICON '\uE20E ' #
|
VCS_GIT_GITLAB_ICON '\uE20E ' #
|
||||||
|
VCS_GIT_AZURE_ICON '\uE20E ' #
|
||||||
|
VCS_GIT_ARCHLINUX_ICON '\uE20E ' #
|
||||||
|
VCS_GIT_CODEBERG_ICON '\uE20E ' #
|
||||||
|
VCS_GIT_DEBIAN_ICON '\uE20E ' #
|
||||||
|
VCS_GIT_FREEBSD_ICON '\uE20E ' #
|
||||||
|
VCS_GIT_FREEDESKTOP_ICON '\uE20E ' #
|
||||||
|
VCS_GIT_GNOME_ICON '\uE20E ' #
|
||||||
|
VCS_GIT_GNU_ICON '\uE20E ' #
|
||||||
|
VCS_GIT_KDE_ICON '\uE20E ' #
|
||||||
|
VCS_GIT_LINUX_ICON '\uE20E ' #
|
||||||
|
VCS_GIT_GITEA_ICON '\uE20E ' #
|
||||||
|
VCS_GIT_SOURCEHUT_ICON '\uE20E ' #
|
||||||
VCS_HG_ICON '\uE1C3 ' #
|
VCS_HG_ICON '\uE1C3 ' #
|
||||||
VCS_SVN_ICON 'svn'$q
|
VCS_SVN_ICON 'svn'$q
|
||||||
RUST_ICON 'R'
|
RUST_ICON 'R'
|
||||||
|
|
@ -124,6 +140,7 @@ function _p9k_init_icons() {
|
||||||
JAVA_ICON '\U2615' # ☕︎
|
JAVA_ICON '\U2615' # ☕︎
|
||||||
LARAVEL_ICON ''
|
LARAVEL_ICON ''
|
||||||
RANGER_ICON '\u2B50' # ⭐
|
RANGER_ICON '\u2B50' # ⭐
|
||||||
|
YAZI_ICON '\u2B50' # ⭐
|
||||||
MIDNIGHT_COMMANDER_ICON 'mc'
|
MIDNIGHT_COMMANDER_ICON 'mc'
|
||||||
VIM_ICON 'vim'
|
VIM_ICON 'vim'
|
||||||
TERRAFORM_ICON 'tf'
|
TERRAFORM_ICON 'tf'
|
||||||
|
|
@ -153,6 +170,7 @@ function _p9k_init_icons() {
|
||||||
SCALA_ICON 'scala'
|
SCALA_ICON 'scala'
|
||||||
TOOLBOX_ICON '\u2B22' # ⬢
|
TOOLBOX_ICON '\u2B22' # ⬢
|
||||||
ARCH_ICON 'arch'
|
ARCH_ICON 'arch'
|
||||||
|
HISTORY_ICON 'hist'
|
||||||
)
|
)
|
||||||
;;
|
;;
|
||||||
'awesome-fontconfig')
|
'awesome-fontconfig')
|
||||||
|
|
@ -214,6 +232,10 @@ function _p9k_init_icons() {
|
||||||
LINUX_RHEL_ICON '\uF17C'$s #
|
LINUX_RHEL_ICON '\uF17C'$s #
|
||||||
LINUX_AMZN_ICON '\uF17C'$s #
|
LINUX_AMZN_ICON '\uF17C'$s #
|
||||||
LINUX_ENDEAVOUROS_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 ' #
|
SUNOS_ICON '\uF185 ' #
|
||||||
HOME_ICON '\uF015'$s #
|
HOME_ICON '\uF015'$s #
|
||||||
HOME_SUB_ICON '\uF07C'$s #
|
HOME_SUB_ICON '\uF07C'$s #
|
||||||
|
|
@ -240,6 +262,18 @@ function _p9k_init_icons() {
|
||||||
VCS_GIT_GITHUB_ICON '\uF113 ' #
|
VCS_GIT_GITHUB_ICON '\uF113 ' #
|
||||||
VCS_GIT_BITBUCKET_ICON '\uF171 ' #
|
VCS_GIT_BITBUCKET_ICON '\uF171 ' #
|
||||||
VCS_GIT_GITLAB_ICON '\uF296 ' #
|
VCS_GIT_GITLAB_ICON '\uF296 ' #
|
||||||
|
VCS_GIT_AZURE_ICON '\u2601 ' # ☁
|
||||||
|
VCS_GIT_ARCHLINUX_ICON '\uF1D3 ' #
|
||||||
|
VCS_GIT_CODEBERG_ICON '\uF1D3 ' #
|
||||||
|
VCS_GIT_DEBIAN_ICON '\uF1D3 ' #
|
||||||
|
VCS_GIT_FREEBSD_ICON '\uF1D3 ' #
|
||||||
|
VCS_GIT_FREEDESKTOP_ICON '\uF1D3 ' #
|
||||||
|
VCS_GIT_GNOME_ICON '\uF1D3 ' #
|
||||||
|
VCS_GIT_GNU_ICON '\uF1D3 ' #
|
||||||
|
VCS_GIT_KDE_ICON '\uF1D3 ' #
|
||||||
|
VCS_GIT_LINUX_ICON '\uF1D3 ' #
|
||||||
|
VCS_GIT_GITEA_ICON '\uF1D3 ' #
|
||||||
|
VCS_GIT_SOURCEHUT_ICON '\uF1D3 ' #
|
||||||
VCS_HG_ICON '\uF0C3 ' #
|
VCS_HG_ICON '\uF0C3 ' #
|
||||||
VCS_SVN_ICON 'svn'$q
|
VCS_SVN_ICON 'svn'$q
|
||||||
RUST_ICON '\uE6A8' #
|
RUST_ICON '\uE6A8' #
|
||||||
|
|
@ -261,6 +295,7 @@ function _p9k_init_icons() {
|
||||||
JAVA_ICON '\U2615' # ☕︎
|
JAVA_ICON '\U2615' # ☕︎
|
||||||
LARAVEL_ICON ''
|
LARAVEL_ICON ''
|
||||||
RANGER_ICON '\u2B50' # ⭐
|
RANGER_ICON '\u2B50' # ⭐
|
||||||
|
YAZI_ICON '\u2B50' # ⭐
|
||||||
MIDNIGHT_COMMANDER_ICON 'mc'
|
MIDNIGHT_COMMANDER_ICON 'mc'
|
||||||
VIM_ICON 'vim'
|
VIM_ICON 'vim'
|
||||||
TERRAFORM_ICON 'tf'
|
TERRAFORM_ICON 'tf'
|
||||||
|
|
@ -290,6 +325,7 @@ function _p9k_init_icons() {
|
||||||
SCALA_ICON 'scala'
|
SCALA_ICON 'scala'
|
||||||
TOOLBOX_ICON '\u2B22' # ⬢
|
TOOLBOX_ICON '\u2B22' # ⬢
|
||||||
ARCH_ICON 'arch'
|
ARCH_ICON 'arch'
|
||||||
|
HISTORY_ICON 'hist'
|
||||||
)
|
)
|
||||||
;;
|
;;
|
||||||
'awesome-mapped-fontconfig')
|
'awesome-mapped-fontconfig')
|
||||||
|
|
@ -356,6 +392,10 @@ function _p9k_init_icons() {
|
||||||
LINUX_RHEL_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
LINUX_RHEL_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
||||||
LINUX_AMZN_ICON "${CODEPOINT_OF_AWESOME_LINUX:+\\u$CODEPOINT_OF_AWESOME_LINUX$s}"
|
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_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 }"
|
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_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}"
|
HOME_SUB_ICON "${CODEPOINT_OF_AWESOME_FOLDER_OPEN:+\\u$CODEPOINT_OF_AWESOME_FOLDER_OPEN$s}"
|
||||||
|
|
@ -382,6 +422,18 @@ function _p9k_init_icons() {
|
||||||
VCS_GIT_GITHUB_ICON "${CODEPOINT_OF_AWESOME_GITHUB_ALT:+\\u$CODEPOINT_OF_AWESOME_GITHUB_ALT }"
|
VCS_GIT_GITHUB_ICON "${CODEPOINT_OF_AWESOME_GITHUB_ALT:+\\u$CODEPOINT_OF_AWESOME_GITHUB_ALT }"
|
||||||
VCS_GIT_BITBUCKET_ICON "${CODEPOINT_OF_AWESOME_BITBUCKET:+\\u$CODEPOINT_OF_AWESOME_BITBUCKET }"
|
VCS_GIT_BITBUCKET_ICON "${CODEPOINT_OF_AWESOME_BITBUCKET:+\\u$CODEPOINT_OF_AWESOME_BITBUCKET }"
|
||||||
VCS_GIT_GITLAB_ICON "${CODEPOINT_OF_AWESOME_GITLAB:+\\u$CODEPOINT_OF_AWESOME_GITLAB }"
|
VCS_GIT_GITLAB_ICON "${CODEPOINT_OF_AWESOME_GITLAB:+\\u$CODEPOINT_OF_AWESOME_GITLAB }"
|
||||||
|
VCS_GIT_AZURE_ICON '\u2601 ' # ☁
|
||||||
|
VCS_GIT_ARCHLINUX_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
||||||
|
VCS_GIT_CODEBERG_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
||||||
|
VCS_GIT_DEBIAN_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
||||||
|
VCS_GIT_FREEBSD_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
||||||
|
VCS_GIT_FREEDESKTOP_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
||||||
|
VCS_GIT_GNOME_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
||||||
|
VCS_GIT_GNU_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
||||||
|
VCS_GIT_KDE_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
||||||
|
VCS_GIT_LINUX_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
||||||
|
VCS_GIT_GITEA_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
||||||
|
VCS_GIT_SOURCEHUT_ICON "${CODEPOINT_OF_AWESOME_GIT:+\\u$CODEPOINT_OF_AWESOME_GIT }"
|
||||||
VCS_HG_ICON "${CODEPOINT_OF_AWESOME_FLASK:+\\u$CODEPOINT_OF_AWESOME_FLASK }"
|
VCS_HG_ICON "${CODEPOINT_OF_AWESOME_FLASK:+\\u$CODEPOINT_OF_AWESOME_FLASK }"
|
||||||
VCS_SVN_ICON 'svn'$q
|
VCS_SVN_ICON 'svn'$q
|
||||||
RUST_ICON '\uE6A8' #
|
RUST_ICON '\uE6A8' #
|
||||||
|
|
@ -401,6 +453,7 @@ function _p9k_init_icons() {
|
||||||
JAVA_ICON '\U2615' # ☕︎
|
JAVA_ICON '\U2615' # ☕︎
|
||||||
LARAVEL_ICON ''
|
LARAVEL_ICON ''
|
||||||
RANGER_ICON '\u2B50' # ⭐
|
RANGER_ICON '\u2B50' # ⭐
|
||||||
|
YAZI_ICON '\u2B50' # ⭐
|
||||||
MIDNIGHT_COMMANDER_ICON 'mc'
|
MIDNIGHT_COMMANDER_ICON 'mc'
|
||||||
VIM_ICON 'vim'
|
VIM_ICON 'vim'
|
||||||
TERRAFORM_ICON 'tf'
|
TERRAFORM_ICON 'tf'
|
||||||
|
|
@ -430,6 +483,7 @@ function _p9k_init_icons() {
|
||||||
SCALA_ICON 'scala'
|
SCALA_ICON 'scala'
|
||||||
TOOLBOX_ICON '\u2B22' # ⬢
|
TOOLBOX_ICON '\u2B22' # ⬢
|
||||||
ARCH_ICON 'arch'
|
ARCH_ICON 'arch'
|
||||||
|
HISTORY_ICON 'hist'
|
||||||
)
|
)
|
||||||
;;
|
;;
|
||||||
'nerdfont-v3')
|
'nerdfont-v3')
|
||||||
|
|
@ -488,9 +542,13 @@ function _p9k_init_icons() {
|
||||||
LINUX_ARTIX_ICON '\UF31F'$s #
|
LINUX_ARTIX_ICON '\UF31F'$s #
|
||||||
LINUX_UBUNTU_ICON '\uF31b'$s #
|
LINUX_UBUNTU_ICON '\uF31b'$s #
|
||||||
LINUX_KALI_ICON '\uF327'$s #
|
LINUX_KALI_ICON '\uF327'$s #
|
||||||
LINUX_RHEL_ICON '\uF316'$s #
|
LINUX_RHEL_ICON '\UF111B'$s #
|
||||||
LINUX_AMZN_ICON '\uF270'$s #
|
LINUX_AMZN_ICON '\uF270'$s #
|
||||||
LINUX_ENDEAVOUROS_ICON '\UF322'$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' #
|
LINUX_ICON '\uF17C' #
|
||||||
SUNOS_ICON '\uF185 ' #
|
SUNOS_ICON '\uF185 ' #
|
||||||
HOME_ICON '\uF015'$s #
|
HOME_ICON '\uF015'$s #
|
||||||
|
|
@ -518,6 +576,23 @@ function _p9k_init_icons() {
|
||||||
VCS_GIT_GITHUB_ICON '\uF113 ' #
|
VCS_GIT_GITHUB_ICON '\uF113 ' #
|
||||||
VCS_GIT_BITBUCKET_ICON '\uE703 ' #
|
VCS_GIT_BITBUCKET_ICON '\uE703 ' #
|
||||||
VCS_GIT_GITLAB_ICON '\uF296 ' #
|
VCS_GIT_GITLAB_ICON '\uF296 ' #
|
||||||
|
VCS_GIT_AZURE_ICON '\uEBE8 ' #
|
||||||
|
VCS_GIT_ARCHLINUX_ICON '\uF303 ' #
|
||||||
|
# v3.1 has \uF330.
|
||||||
|
VCS_GIT_CODEBERG_ICON '\uF1D3 ' #
|
||||||
|
VCS_GIT_DEBIAN_ICON '\uF306 ' #
|
||||||
|
VCS_GIT_FREEBSD_ICON '\UF30C ' #
|
||||||
|
# v3.1 has \uF360.
|
||||||
|
VCS_GIT_FREEDESKTOP_ICON '\uF296 ' #
|
||||||
|
# v3.1 has \uF361.
|
||||||
|
VCS_GIT_GNOME_ICON '\uF296 ' #
|
||||||
|
VCS_GIT_GNU_ICON '\uE779 ' #
|
||||||
|
# v3.1 has \uF332.
|
||||||
|
VCS_GIT_KDE_ICON '\uF296 ' #
|
||||||
|
VCS_GIT_LINUX_ICON '\uF17C ' #
|
||||||
|
# v3.1 has \uF339.
|
||||||
|
VCS_GIT_GITEA_ICON '\uF1D3 ' #
|
||||||
|
VCS_GIT_SOURCEHUT_ICON '\uF1DB ' #
|
||||||
VCS_HG_ICON '\uF0C3 ' #
|
VCS_HG_ICON '\uF0C3 ' #
|
||||||
VCS_SVN_ICON '\uE72D'$q #
|
VCS_SVN_ICON '\uE72D'$q #
|
||||||
RUST_ICON '\uE7A8'$q #
|
RUST_ICON '\uE7A8'$q #
|
||||||
|
|
@ -539,13 +614,14 @@ function _p9k_init_icons() {
|
||||||
JAVA_ICON '\uE738' #
|
JAVA_ICON '\uE738' #
|
||||||
LARAVEL_ICON '\ue73f'$q #
|
LARAVEL_ICON '\ue73f'$q #
|
||||||
RANGER_ICON '\uF00b ' #
|
RANGER_ICON '\uF00b ' #
|
||||||
|
YAZI_ICON '\uF00b ' #
|
||||||
MIDNIGHT_COMMANDER_ICON 'mc' # mc
|
MIDNIGHT_COMMANDER_ICON 'mc' # mc
|
||||||
VIM_ICON '\uE62B' #
|
VIM_ICON '\uE62B' #
|
||||||
TERRAFORM_ICON '\uF1BB ' #
|
TERRAFORM_ICON '\uF1BB ' #
|
||||||
PROXY_ICON '\u2194' # ↔
|
PROXY_ICON '\u2194' # ↔
|
||||||
DOTNET_ICON '\uE77F' #
|
DOTNET_ICON '\uE77F' #
|
||||||
DOTNET_CORE_ICON '\uE77F' #
|
DOTNET_CORE_ICON '\uE77F' #
|
||||||
AZURE_ICON '\UF0805' #
|
AZURE_ICON '\uEBD8 ' #
|
||||||
DIRENV_ICON '\u25BC' # ▼
|
DIRENV_ICON '\u25BC' # ▼
|
||||||
FLUTTER_ICON 'F' # F
|
FLUTTER_ICON 'F' # F
|
||||||
GCLOUD_ICON '\UF02AD' #
|
GCLOUD_ICON '\UF02AD' #
|
||||||
|
|
@ -568,6 +644,7 @@ function _p9k_init_icons() {
|
||||||
SCALA_ICON '\uE737' #
|
SCALA_ICON '\uE737' #
|
||||||
TOOLBOX_ICON '\uE20F'$s #
|
TOOLBOX_ICON '\uE20F'$s #
|
||||||
ARCH_ICON '\uE266' #
|
ARCH_ICON '\uE266' #
|
||||||
|
HISTORY_ICON '\uF1DA'$s #
|
||||||
)
|
)
|
||||||
;;
|
;;
|
||||||
'nerdfont-complete'|'nerdfont-fontconfig')
|
'nerdfont-complete'|'nerdfont-fontconfig')
|
||||||
|
|
@ -629,6 +706,10 @@ function _p9k_init_icons() {
|
||||||
LINUX_RHEL_ICON '\uF316'$s #
|
LINUX_RHEL_ICON '\uF316'$s #
|
||||||
LINUX_AMZN_ICON '\uF270'$s #
|
LINUX_AMZN_ICON '\uF270'$s #
|
||||||
LINUX_ENDEAVOUROS_ICON '\uF17C' #
|
LINUX_ENDEAVOUROS_ICON '\uF17C' #
|
||||||
|
LINUX_ROCKY_ICON '\uF17C' #
|
||||||
|
LINUX_ALMALINUX_ICON '\uF17C' #
|
||||||
|
LINUX_GUIX_ICON '\uF325'$s #
|
||||||
|
LINUX_NEON_ICON '\uF17C' #
|
||||||
LINUX_ICON '\uF17C' #
|
LINUX_ICON '\uF17C' #
|
||||||
SUNOS_ICON '\uF185 ' #
|
SUNOS_ICON '\uF185 ' #
|
||||||
HOME_ICON '\uF015'$s #
|
HOME_ICON '\uF015'$s #
|
||||||
|
|
@ -656,6 +737,18 @@ function _p9k_init_icons() {
|
||||||
VCS_GIT_GITHUB_ICON '\uF113 ' #
|
VCS_GIT_GITHUB_ICON '\uF113 ' #
|
||||||
VCS_GIT_BITBUCKET_ICON '\uE703 ' #
|
VCS_GIT_BITBUCKET_ICON '\uE703 ' #
|
||||||
VCS_GIT_GITLAB_ICON '\uF296 ' #
|
VCS_GIT_GITLAB_ICON '\uF296 ' #
|
||||||
|
VCS_GIT_AZURE_ICON '\uFD03 ' # ﴃ
|
||||||
|
VCS_GIT_ARCHLINUX_ICON '\uF303 ' #
|
||||||
|
VCS_GIT_CODEBERG_ICON '\uF1D3 ' #
|
||||||
|
VCS_GIT_DEBIAN_ICON '\uF306 ' #
|
||||||
|
VCS_GIT_FREEBSD_ICON '\UF30C ' #
|
||||||
|
VCS_GIT_FREEDESKTOP_ICON '\uF296 ' #
|
||||||
|
VCS_GIT_GNOME_ICON '\uF296 ' #
|
||||||
|
VCS_GIT_GNU_ICON '\uE779 ' #
|
||||||
|
VCS_GIT_KDE_ICON '\uF296 ' #
|
||||||
|
VCS_GIT_LINUX_ICON '\uF17C ' #
|
||||||
|
VCS_GIT_GITEA_ICON '\uF1D3 ' #
|
||||||
|
VCS_GIT_SOURCEHUT_ICON '\uF1DB ' #
|
||||||
VCS_HG_ICON '\uF0C3 ' #
|
VCS_HG_ICON '\uF0C3 ' #
|
||||||
VCS_SVN_ICON '\uE72D'$q #
|
VCS_SVN_ICON '\uE72D'$q #
|
||||||
RUST_ICON '\uE7A8'$q #
|
RUST_ICON '\uE7A8'$q #
|
||||||
|
|
@ -677,6 +770,7 @@ function _p9k_init_icons() {
|
||||||
JAVA_ICON '\uE738' #
|
JAVA_ICON '\uE738' #
|
||||||
LARAVEL_ICON '\ue73f'$q #
|
LARAVEL_ICON '\ue73f'$q #
|
||||||
RANGER_ICON '\uF00b ' #
|
RANGER_ICON '\uF00b ' #
|
||||||
|
YAZI_ICON '\uF00b ' #
|
||||||
MIDNIGHT_COMMANDER_ICON 'mc'
|
MIDNIGHT_COMMANDER_ICON 'mc'
|
||||||
VIM_ICON '\uE62B' #
|
VIM_ICON '\uE62B' #
|
||||||
TERRAFORM_ICON '\uF1BB ' #
|
TERRAFORM_ICON '\uF1BB ' #
|
||||||
|
|
@ -706,6 +800,7 @@ function _p9k_init_icons() {
|
||||||
SCALA_ICON '\uE737' #
|
SCALA_ICON '\uE737' #
|
||||||
TOOLBOX_ICON '\uE20F'$s #
|
TOOLBOX_ICON '\uE20F'$s #
|
||||||
ARCH_ICON '\uE266' #
|
ARCH_ICON '\uE266' #
|
||||||
|
HISTORY_ICON '\uF1DA'$s #
|
||||||
)
|
)
|
||||||
;;
|
;;
|
||||||
ascii)
|
ascii)
|
||||||
|
|
@ -765,6 +860,10 @@ function _p9k_init_icons() {
|
||||||
LINUX_RHEL_ICON 'rhel'
|
LINUX_RHEL_ICON 'rhel'
|
||||||
LINUX_AMZN_ICON 'amzn'
|
LINUX_AMZN_ICON 'amzn'
|
||||||
LINUX_ENDEAVOUROS_ICON 'edvos'
|
LINUX_ENDEAVOUROS_ICON 'edvos'
|
||||||
|
LINUX_ROCKY_ICON 'rocky'
|
||||||
|
LINUX_ALMALINUX_ICON 'alma'
|
||||||
|
LINUX_GUIX_ICON 'guix'
|
||||||
|
LINUX_NEON_ICON 'neon'
|
||||||
SUNOS_ICON 'sunos'
|
SUNOS_ICON 'sunos'
|
||||||
HOME_ICON ''
|
HOME_ICON ''
|
||||||
HOME_SUB_ICON ''
|
HOME_SUB_ICON ''
|
||||||
|
|
@ -791,6 +890,18 @@ function _p9k_init_icons() {
|
||||||
VCS_GIT_GITHUB_ICON ''
|
VCS_GIT_GITHUB_ICON ''
|
||||||
VCS_GIT_BITBUCKET_ICON ''
|
VCS_GIT_BITBUCKET_ICON ''
|
||||||
VCS_GIT_GITLAB_ICON ''
|
VCS_GIT_GITLAB_ICON ''
|
||||||
|
VCS_GIT_AZURE_ICON ''
|
||||||
|
VCS_GIT_ARCHLINUX_ICON ''
|
||||||
|
VCS_GIT_CODEBERG_ICON ''
|
||||||
|
VCS_GIT_DEBIAN_ICON ''
|
||||||
|
VCS_GIT_FREEBSD_ICON ''
|
||||||
|
VCS_GIT_FREEDESKTOP_ICON ''
|
||||||
|
VCS_GIT_GNOME_ICON ''
|
||||||
|
VCS_GIT_GNU_ICON ''
|
||||||
|
VCS_GIT_KDE_ICON ''
|
||||||
|
VCS_GIT_LINUX_ICON ''
|
||||||
|
VCS_GIT_GITEA_ICON ''
|
||||||
|
VCS_GIT_SOURCEHUT_ICON ''
|
||||||
VCS_HG_ICON ''
|
VCS_HG_ICON ''
|
||||||
VCS_SVN_ICON ''
|
VCS_SVN_ICON ''
|
||||||
RUST_ICON 'rust'
|
RUST_ICON 'rust'
|
||||||
|
|
@ -812,6 +923,7 @@ function _p9k_init_icons() {
|
||||||
JAVA_ICON 'java'
|
JAVA_ICON 'java'
|
||||||
LARAVEL_ICON ''
|
LARAVEL_ICON ''
|
||||||
RANGER_ICON 'ranger'
|
RANGER_ICON 'ranger'
|
||||||
|
YAZI_ICON 'yazi'
|
||||||
MIDNIGHT_COMMANDER_ICON 'mc'
|
MIDNIGHT_COMMANDER_ICON 'mc'
|
||||||
VIM_ICON 'vim'
|
VIM_ICON 'vim'
|
||||||
TERRAFORM_ICON 'tf'
|
TERRAFORM_ICON 'tf'
|
||||||
|
|
@ -841,6 +953,7 @@ function _p9k_init_icons() {
|
||||||
SCALA_ICON 'scala'
|
SCALA_ICON 'scala'
|
||||||
TOOLBOX_ICON 'toolbox'
|
TOOLBOX_ICON 'toolbox'
|
||||||
ARCH_ICON 'arch'
|
ARCH_ICON 'arch'
|
||||||
|
HISTORY_ICON 'hist'
|
||||||
)
|
)
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
|
@ -902,6 +1015,10 @@ function _p9k_init_icons() {
|
||||||
LINUX_RHEL_ICON 'RH'
|
LINUX_RHEL_ICON 'RH'
|
||||||
LINUX_AMZN_ICON 'Amzn'
|
LINUX_AMZN_ICON 'Amzn'
|
||||||
LINUX_ENDEAVOUROS_ICON 'Edv'
|
LINUX_ENDEAVOUROS_ICON 'Edv'
|
||||||
|
LINUX_ROCKY_ICON 'Roc'
|
||||||
|
LINUX_ALMALINUX_ICON 'Alma'
|
||||||
|
LINUX_GUIX_ICON 'Guix'
|
||||||
|
LINUX_NEON_ICON 'Neon'
|
||||||
SUNOS_ICON 'Sun'
|
SUNOS_ICON 'Sun'
|
||||||
HOME_ICON ''
|
HOME_ICON ''
|
||||||
HOME_SUB_ICON ''
|
HOME_SUB_ICON ''
|
||||||
|
|
@ -928,6 +1045,18 @@ function _p9k_init_icons() {
|
||||||
VCS_GIT_GITHUB_ICON ''
|
VCS_GIT_GITHUB_ICON ''
|
||||||
VCS_GIT_BITBUCKET_ICON ''
|
VCS_GIT_BITBUCKET_ICON ''
|
||||||
VCS_GIT_GITLAB_ICON ''
|
VCS_GIT_GITLAB_ICON ''
|
||||||
|
VCS_GIT_AZURE_ICON ''
|
||||||
|
VCS_GIT_ARCHLINUX_ICON ''
|
||||||
|
VCS_GIT_CODEBERG_ICON ''
|
||||||
|
VCS_GIT_DEBIAN_ICON ''
|
||||||
|
VCS_GIT_FREEBSD_ICON ''
|
||||||
|
VCS_GIT_FREEDESKTOP_ICON ''
|
||||||
|
VCS_GIT_GNOME_ICON ''
|
||||||
|
VCS_GIT_GNU_ICON ''
|
||||||
|
VCS_GIT_KDE_ICON ''
|
||||||
|
VCS_GIT_LINUX_ICON ''
|
||||||
|
VCS_GIT_GITEA_ICON ''
|
||||||
|
VCS_GIT_SOURCEHUT_ICON ''
|
||||||
VCS_HG_ICON ''
|
VCS_HG_ICON ''
|
||||||
VCS_SVN_ICON ''
|
VCS_SVN_ICON ''
|
||||||
RUST_ICON 'R'
|
RUST_ICON 'R'
|
||||||
|
|
@ -949,6 +1078,7 @@ function _p9k_init_icons() {
|
||||||
JAVA_ICON '\U2615' # ☕︎
|
JAVA_ICON '\U2615' # ☕︎
|
||||||
LARAVEL_ICON ''
|
LARAVEL_ICON ''
|
||||||
RANGER_ICON '\u2B50' # ⭐
|
RANGER_ICON '\u2B50' # ⭐
|
||||||
|
YAZI_ICON '\u2B50' # ⭐
|
||||||
MIDNIGHT_COMMANDER_ICON 'mc'
|
MIDNIGHT_COMMANDER_ICON 'mc'
|
||||||
VIM_ICON 'vim'
|
VIM_ICON 'vim'
|
||||||
TERRAFORM_ICON 'tf'
|
TERRAFORM_ICON 'tf'
|
||||||
|
|
@ -978,6 +1108,7 @@ function _p9k_init_icons() {
|
||||||
SCALA_ICON 'scala'
|
SCALA_ICON 'scala'
|
||||||
TOOLBOX_ICON '\u2B22' # ⬢
|
TOOLBOX_ICON '\u2B22' # ⬢
|
||||||
ARCH_ICON 'arch'
|
ARCH_ICON 'arch'
|
||||||
|
HISTORY_ICON 'hist'
|
||||||
)
|
)
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
||||||
|
|
@ -532,7 +532,7 @@ _p9k_get_icon() {
|
||||||
_p9k_translate_color() {
|
_p9k_translate_color() {
|
||||||
if [[ $1 == <-> ]]; then # decimal color code: 255
|
if [[ $1 == <-> ]]; then # decimal color code: 255
|
||||||
_p9k__ret=${(l.3..0.)1}
|
_p9k__ret=${(l.3..0.)1}
|
||||||
elif [[ $1 == '#'[[:xdigit:]]## ]]; then # hexademical color code: #ffffff
|
elif [[ $1 == '#'[[:xdigit:]]## ]]; then # hexadecimal color code: #ffffff
|
||||||
_p9k__ret=${${(L)1}//ı/i}
|
_p9k__ret=${${(L)1}//ı/i}
|
||||||
else # named color: red
|
else # named color: red
|
||||||
# Strip prifixes if there are any.
|
# Strip prifixes if there are any.
|
||||||
|
|
@ -1179,7 +1179,7 @@ function _p9k_parse_aws_config() {
|
||||||
################################################################
|
################################################################
|
||||||
# AWS Profile
|
# AWS Profile
|
||||||
prompt_aws() {
|
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
|
local pat class state
|
||||||
for pat class in "${_POWERLEVEL9K_AWS_CLASSES[@]}"; do
|
for pat class in "${_POWERLEVEL9K_AWS_CLASSES[@]}"; do
|
||||||
if [[ $P9K_AWS_PROFILE == ${~pat} ]]; then
|
if [[ $P9K_AWS_PROFILE == ${~pat} ]]; then
|
||||||
|
|
@ -1206,7 +1206,7 @@ prompt_aws() {
|
||||||
}
|
}
|
||||||
|
|
||||||
_p9k_prompt_aws_init() {
|
_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() {
|
function _p9k_fvm_new() {
|
||||||
_p9k_upglob .fvm @ && return 1
|
_p9k_upglob .fvm/flutter_sdk @ && return 1
|
||||||
local sdk=$_p9k__parent_dirs[$?]/.fvm/flutter_sdk
|
local sdk=$_p9k__parent_dirs[$?]/.fvm/flutter_sdk
|
||||||
if [[ ${sdk:A} == (#b)*/versions/([^/]##) ]]; then
|
if [[ ${sdk:A} == (#b)*/versions/([^/]##) ]]; then
|
||||||
_p9k_prompt_segment prompt_fvm blue $_p9k_color1 FLUTTER_ICON 0 '' ${match[1]//\%/%%}
|
_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 -i is_full=1 is_calculating is_charching
|
||||||
local dir
|
local dir
|
||||||
for dir in $bats; do
|
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
|
local -i pow=0 full=0
|
||||||
if _p9k_read_file $dir/(energy_full|charge_full|charge_counter)(N); then
|
if _p9k_read_file $dir/(energy_full|charge_full|charge_counter)(N); then
|
||||||
(( energy_full += ${full::=_p9k__ret} ))
|
(( energy_full += ${full::=_p9k__ret} ))
|
||||||
|
|
@ -1422,7 +1425,6 @@ _p9k_prompt_battery_set_args() {
|
||||||
elif _p9k_read_file $dir/(energy|charge)_now(N); then
|
elif _p9k_read_file $dir/(energy|charge)_now(N); then
|
||||||
(( energy_now += _p9k__ret ))
|
(( energy_now += _p9k__ret ))
|
||||||
fi
|
fi
|
||||||
_p9k_read_file $dir/status(N) && local bat_status=$_p9k__ret || continue
|
|
||||||
[[ $bat_status != Full ]] && is_full=0
|
[[ $bat_status != Full ]] && is_full=0
|
||||||
[[ $bat_status == Charging ]] && is_charching=1
|
[[ $bat_status == Charging ]] && is_charching=1
|
||||||
[[ $bat_status == (Charging|Discharging) && $pow == 0 ]] && is_calculating=1
|
[[ $bat_status == (Charging|Discharging) && $pow == 0 ]] && is_calculating=1
|
||||||
|
|
@ -2317,7 +2319,11 @@ prompt_laravel_version() {
|
||||||
[[ -r $app ]] || return
|
[[ -r $app ]] || return
|
||||||
if ! _p9k_cache_stat_get $0 $dir/artisan $app; then
|
if ! _p9k_cache_stat_get $0 $dir/artisan $app; then
|
||||||
local v="$(php $dir/artisan --version 2> /dev/null)"
|
local v="$(php $dir/artisan --version 2> /dev/null)"
|
||||||
_p9k_cache_stat_set "${${(M)v:#Laravel Framework *}#Laravel Framework }"
|
v="${${(M)v:#Laravel Framework *}#Laravel Framework }"
|
||||||
|
# In some versions the output is colorized.
|
||||||
|
# https://github.com/romkatv/powerlevel10k/issues/2534
|
||||||
|
v=${${v#$'\e['<->m}%$'\e['<->m}
|
||||||
|
_p9k_cache_stat_set "$v"
|
||||||
fi
|
fi
|
||||||
[[ -n $_p9k__cache_val[1] ]] || return
|
[[ -n $_p9k__cache_val[1] ]] || return
|
||||||
_p9k_prompt_segment "$0" "maroon" "white" 'LARAVEL_ICON' 0 '' "${_p9k__cache_val[1]//\%/%%}"
|
_p9k_prompt_segment "$0" "maroon" "white" 'LARAVEL_ICON' 0 '' "${_p9k__cache_val[1]//\%/%%}"
|
||||||
|
|
@ -2420,7 +2426,7 @@ function _p9k_cached_cmd() {
|
||||||
}
|
}
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
# Segment to diplay Node version
|
# Segment to display Node version
|
||||||
prompt_node_version() {
|
prompt_node_version() {
|
||||||
_p9k_upglob package.json -.
|
_p9k_upglob package.json -.
|
||||||
local -i idx=$?
|
local -i idx=$?
|
||||||
|
|
@ -3186,70 +3192,57 @@ instant_prompt_root_indicator() { prompt_root_indicator; }
|
||||||
################################################################
|
################################################################
|
||||||
# Segment to display Rust version number
|
# Segment to display Rust version number
|
||||||
prompt_rust_version() {
|
prompt_rust_version() {
|
||||||
unset P9K_RUST_VERSION
|
local -i len=$#_p9k__prompt _p9k__has_upglob
|
||||||
if (( _POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY )); then
|
_p9k_prompt_segment $0 darkorange $_p9k_color1 RUST_ICON 1 '$P9K_RUST_VERSION' '${P9K_RUST_VERSION//\%/%%}'
|
||||||
_p9k_upglob Cargo.toml -. && return
|
(( _p9k__has_upglob )) || typeset -g "_p9k__segment_val_${_p9k__prompt_side}[_p9k__segment_index]"=$_p9k__prompt[len+1,-1]
|
||||||
fi
|
|
||||||
local rustc=$commands[rustc] toolchain deps=()
|
|
||||||
if (( $+commands[ldd] )); then
|
|
||||||
if ! _p9k_cache_stat_get $0_so $rustc; then
|
|
||||||
local line so
|
|
||||||
for line in "${(@f)$(ldd $rustc 2>/dev/null)}"; do
|
|
||||||
[[ $line == (#b)[[:space:]]#librustc_driver[^[:space:]]#.so' => '(*)' (0x'[[:xdigit:]]#')' ]] || continue
|
|
||||||
so=$match[1]
|
|
||||||
break
|
|
||||||
done
|
|
||||||
_p9k_cache_stat_set "$so"
|
|
||||||
fi
|
|
||||||
deps+=$_p9k__cache_val[1]
|
|
||||||
fi
|
|
||||||
if (( $+commands[rustup] )); then
|
|
||||||
local rustup=$commands[rustup]
|
|
||||||
local rustup_home=${RUSTUP_HOME:-~/.rustup}
|
|
||||||
local cfg=($rustup_home/settings.toml(.N))
|
|
||||||
deps+=($cfg $rustup_home/update-hashes/*(.N))
|
|
||||||
if [[ -z ${toolchain::=$RUSTUP_TOOLCHAIN} ]]; then
|
|
||||||
if ! _p9k_cache_stat_get $0_overrides $rustup $cfg; then
|
|
||||||
local lines=(${(f)"$(rustup override list 2>/dev/null)"})
|
|
||||||
if [[ $lines[1] == "no overrides" ]]; then
|
|
||||||
_p9k_cache_stat_set
|
|
||||||
else
|
|
||||||
local MATCH
|
|
||||||
local keys=(${(@)${lines%%[[:space:]]#[^[:space:]]#}/(#m)*/${(b)MATCH}/})
|
|
||||||
local vals=(${(@)lines/(#m)*/$MATCH[(I)/] ${MATCH##*[[:space:]]}})
|
|
||||||
_p9k_cache_stat_set ${keys:^vals}
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
local -A overrides=($_p9k__cache_val)
|
|
||||||
_p9k_upglob rust-toolchain -.
|
|
||||||
local dir=$_p9k__parent_dirs[$?]
|
|
||||||
local -i n m=${dir[(I)/]}
|
|
||||||
local pair
|
|
||||||
for pair in ${overrides[(K)$_p9k__cwd/]}; do
|
|
||||||
n=${pair%% *}
|
|
||||||
(( n <= m )) && continue
|
|
||||||
m=n
|
|
||||||
toolchain=${pair#* }
|
|
||||||
done
|
|
||||||
if [[ -z $toolchain && -n $dir ]]; then
|
|
||||||
_p9k_read_word $dir/rust-toolchain
|
|
||||||
toolchain=$_p9k__ret
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if ! _p9k_cache_stat_get $0_v$toolchain $rustc $deps; then
|
|
||||||
_p9k_cache_stat_set "$($rustc --version 2>/dev/null)"
|
|
||||||
fi
|
|
||||||
local v=${${_p9k__cache_val[1]#rustc }%% *}
|
|
||||||
[[ -n $v ]] || return
|
|
||||||
typeset -g P9K_RUST_VERSION=$_p9k__cache_val[1]
|
|
||||||
_p9k_prompt_segment "$0" "darkorange" "$_p9k_color1" 'RUST_ICON' 0 '' "${v//\%/%%}"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_p9k_prompt_rust_version_init() {
|
function _p9k_prompt_rust_version_init() {
|
||||||
|
_p9k__async_segments_compute+='_p9k_rust_version_prefetch'
|
||||||
typeset -g "_p9k__segment_cond_${_p9k__prompt_side}[_p9k__segment_index]"='$commands[rustc]'
|
typeset -g "_p9k__segment_cond_${_p9k__prompt_side}[_p9k__segment_index]"='$commands[rustc]'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_p9k_rust_version_prefetch() {
|
||||||
|
local rustc=$commands[rustc]
|
||||||
|
if [[ -z $rustc ]] ||
|
||||||
|
{ (( _POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY )) && _p9k_upglob Cargo.toml -. }; then
|
||||||
|
unset P9K_RUST_VERSION
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
_p9k_worker_invoke rust_version \
|
||||||
|
"_p9k_prompt_rust_version_compute ${(q)P9K_RUST_VERSION} ${(q)rustc} ${(q)_p9k__cwd_a}"
|
||||||
|
}
|
||||||
|
|
||||||
|
_p9k_prompt_rust_version_compute() {
|
||||||
|
_p9k_worker_async \
|
||||||
|
"_p9k_prompt_rust_version_async ${(q)1} ${(q)2} ${(q)3}" \
|
||||||
|
_p9k_prompt_rust_version_sync
|
||||||
|
}
|
||||||
|
|
||||||
|
_p9k_prompt_rust_version_async() {
|
||||||
|
typeset -g P9K_RUST_VERSION=$1
|
||||||
|
local rustc=$2 cwd=$3 v
|
||||||
|
if pushd -q -- $cwd; then
|
||||||
|
{
|
||||||
|
v=${${"$($rustc --version)"#rustc }%% *} || v=
|
||||||
|
} always {
|
||||||
|
popd -q
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
[[ $v != $P9K_RUST_VERSION ]] || return
|
||||||
|
typeset -g P9K_RUST_VERSION=$v
|
||||||
|
_p9k_print_params P9K_RUST_VERSION
|
||||||
|
echo -E - 'reset=1'
|
||||||
|
}
|
||||||
|
|
||||||
|
_p9k_prompt_rust_version_sync() {
|
||||||
|
if [[ -n $REPLY ]]; then
|
||||||
|
eval $REPLY
|
||||||
|
_p9k_worker_reply $REPLY
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# RSpec test ratio
|
# RSpec test ratio
|
||||||
prompt_rspec_stats() {
|
prompt_rspec_stats() {
|
||||||
if [[ -d app && -d spec ]]; then
|
if [[ -d app && -d spec ]]; then
|
||||||
|
|
@ -3718,7 +3711,7 @@ function +vi-hg-bookmarks() {
|
||||||
if [[ -n "${hgbmarks[@]}" ]]; then
|
if [[ -n "${hgbmarks[@]}" ]]; then
|
||||||
hook_com[hg-bookmark-string]=" $(print_icon 'VCS_BOOKMARK_ICON')${hgbmarks[@]}"
|
hook_com[hg-bookmark-string]=" $(print_icon 'VCS_BOOKMARK_ICON')${hgbmarks[@]}"
|
||||||
|
|
||||||
# To signal that we want to use the sting we just generated, set the special
|
# To signal that we want to use the string we just generated, set the special
|
||||||
# variable `ret' to something other than the default zero:
|
# variable `ret' to something other than the default zero:
|
||||||
ret=1
|
ret=1
|
||||||
return 0
|
return 0
|
||||||
|
|
@ -3727,20 +3720,9 @@ function +vi-hg-bookmarks() {
|
||||||
|
|
||||||
function +vi-vcs-detect-changes() {
|
function +vi-vcs-detect-changes() {
|
||||||
if [[ "${hook_com[vcs]}" == "git" ]]; then
|
if [[ "${hook_com[vcs]}" == "git" ]]; then
|
||||||
|
|
||||||
local remote="$(git ls-remote --get-url 2> /dev/null)"
|
local remote="$(git ls-remote --get-url 2> /dev/null)"
|
||||||
if [[ "$remote" =~ "github" ]] then
|
_p9k_vcs_icon "$remote"
|
||||||
vcs_visual_identifier='VCS_GIT_GITHUB_ICON'
|
vcs_visual_identifier=$_p9k__ret
|
||||||
elif [[ "$remote" =~ "bitbucket" ]] then
|
|
||||||
vcs_visual_identifier='VCS_GIT_BITBUCKET_ICON'
|
|
||||||
elif [[ "$remote" =~ "stash" ]] then
|
|
||||||
vcs_visual_identifier='VCS_GIT_BITBUCKET_ICON'
|
|
||||||
elif [[ "$remote" =~ "gitlab" ]] then
|
|
||||||
vcs_visual_identifier='VCS_GIT_GITLAB_ICON'
|
|
||||||
else
|
|
||||||
vcs_visual_identifier='VCS_GIT_ICON'
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif [[ "${hook_com[vcs]}" == "hg" ]]; then
|
elif [[ "${hook_com[vcs]}" == "hg" ]]; then
|
||||||
vcs_visual_identifier='VCS_HG_ICON'
|
vcs_visual_identifier='VCS_HG_ICON'
|
||||||
elif [[ "${hook_com[vcs]}" == "svn" ]]; then
|
elif [[ "${hook_com[vcs]}" == "svn" ]]; then
|
||||||
|
|
@ -3873,13 +3855,14 @@ function _p9k_vcs_status_purge() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function _p9k_vcs_icon() {
|
function _p9k_vcs_icon() {
|
||||||
case "$VCS_STATUS_REMOTE_URL" in
|
local pat icon
|
||||||
*github*) _p9k__ret=VCS_GIT_GITHUB_ICON;;
|
for pat icon in "${(@)_POWERLEVEL9K_VCS_GIT_REMOTE_ICONS}"; do
|
||||||
*bitbucket*) _p9k__ret=VCS_GIT_BITBUCKET_ICON;;
|
if [[ $1 == $~pat ]]; then
|
||||||
*stash*) _p9k__ret=VCS_GIT_BITBUCKET_ICON;;
|
_p9k__ret=$icon
|
||||||
*gitlab*) _p9k__ret=VCS_GIT_GITLAB_ICON;;
|
return
|
||||||
*) _p9k__ret=VCS_GIT_ICON;;
|
fi
|
||||||
esac
|
done
|
||||||
|
_p9k__ret=
|
||||||
}
|
}
|
||||||
|
|
||||||
function _p9k_vcs_render() {
|
function _p9k_vcs_render() {
|
||||||
|
|
@ -3909,7 +3892,7 @@ function _p9k_vcs_render() {
|
||||||
state=CLEAN
|
state=CLEAN
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
_p9k_vcs_icon
|
_p9k_vcs_icon "$VCS_STATUS_REMOTE_URL"
|
||||||
_p9k_prompt_segment prompt_vcs_$state "${__p9k_vcs_states[$state]}" "$_p9k_color1" "$_p9k__ret" 0 '' ""
|
_p9k_prompt_segment prompt_vcs_$state "${__p9k_vcs_states[$state]}" "$_p9k_color1" "$_p9k__ret" 0 '' ""
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
|
@ -3962,8 +3945,8 @@ function _p9k_vcs_render() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# It's weird that removing vcs-detect-changes from POWERLEVEL9K_VCS_GIT_HOOKS gets rid
|
# It's weird that removing vcs-detect-changes from POWERLEVEL9K_VCS_GIT_HOOKS gets rid
|
||||||
# of the GIT icon. That's what vcs_info does, so we do the same in the name of compatiblity.
|
# of the GIT icon. That's what vcs_info does, so we do the same in the name of compatibility.
|
||||||
_p9k_vcs_icon
|
_p9k_vcs_icon "$VCS_STATUS_REMOTE_URL"
|
||||||
icon=$_p9k__ret
|
icon=$_p9k__ret
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -4273,6 +4256,36 @@ function instant_prompt_chezmoi_shell() {
|
||||||
_p9k_prompt_segment prompt_chezmoi_shell blue $_p9k_color1 CHEZMOI_ICON 1 '$CHEZMOI_ICON' ''
|
_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']#=([^$'\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 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
|
# Virtualenv: current working virtualenv
|
||||||
# More information on virtualenv (Python):
|
# More information on virtualenv (Python):
|
||||||
|
|
@ -4282,11 +4295,21 @@ prompt_virtualenv() {
|
||||||
if (( _POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION )) && _p9k_python_version; then
|
if (( _POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION )) && _p9k_python_version; then
|
||||||
msg="${_p9k__ret//\%/%%} "
|
msg="${_p9k__ret//\%/%%} "
|
||||||
fi
|
fi
|
||||||
local v=${VIRTUAL_ENV:t}
|
local cfg=$VIRTUAL_ENV/pyvenv.cfg
|
||||||
if [[ $VIRTUAL_ENV_PROMPT == '('?*') ' && $VIRTUAL_ENV_PROMPT != "($v) " ]]; then
|
if ! _p9k_cache_stat_get $0 $cfg; then
|
||||||
v=$VIRTUAL_ENV_PROMPT[2,-3]
|
local -a reply
|
||||||
elif [[ $v == $~_POWERLEVEL9K_VIRTUALENV_GENERIC_NAMES ]]; then
|
_p9k_parse_virtualenv_cfg $cfg
|
||||||
v=${VIRTUAL_ENV:h:t}
|
_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
|
fi
|
||||||
msg+="$_POWERLEVEL9K_VIRTUALENV_LEFT_DELIMITER${v//\%/%%}$_POWERLEVEL9K_VIRTUALENV_RIGHT_DELIMITER"
|
msg+="$_POWERLEVEL9K_VIRTUALENV_LEFT_DELIMITER${v//\%/%%}$_POWERLEVEL9K_VIRTUALENV_RIGHT_DELIMITER"
|
||||||
case $_POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV in
|
case $_POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV in
|
||||||
|
|
@ -4643,9 +4666,10 @@ _p9k_prompt_java_version_init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
prompt_azure() {
|
prompt_azure() {
|
||||||
local cfg=${AZURE_CONFIG_DIR:-$HOME/.azure}/azureProfile.json
|
local name cfg=${AZURE_CONFIG_DIR:-$HOME/.azure}/azureProfile.json
|
||||||
if ! _p9k_cache_stat_get $0 $cfg; then
|
if _p9k_cache_stat_get $0 $cfg; then
|
||||||
local name
|
name=$_p9k__cache_val[1]
|
||||||
|
else
|
||||||
if (( $+commands[jq] )) && name="$(jq -r '[.subscriptions[]|select(.isDefault==true)|.name][]|strings' $cfg 2>/dev/null)"; then
|
if (( $+commands[jq] )) && name="$(jq -r '[.subscriptions[]|select(.isDefault==true)|.name][]|strings' $cfg 2>/dev/null)"; then
|
||||||
name=${name%%$'\n'*}
|
name=${name%%$'\n'*}
|
||||||
elif ! name="$(az account show --query name --output tsv 2>/dev/null)"; then
|
elif ! name="$(az account show --query name --output tsv 2>/dev/null)"; then
|
||||||
|
|
@ -4653,6 +4677,7 @@ prompt_azure() {
|
||||||
fi
|
fi
|
||||||
_p9k_cache_stat_set "$name"
|
_p9k_cache_stat_set "$name"
|
||||||
fi
|
fi
|
||||||
|
[[ -n $name ]] || return
|
||||||
local pat class state
|
local pat class state
|
||||||
for pat class in "${_POWERLEVEL9K_AZURE_CLASSES[@]}"; do
|
for pat class in "${_POWERLEVEL9K_AZURE_CLASSES[@]}"; do
|
||||||
if [[ $name == ${~pat} ]]; then
|
if [[ $name == ${~pat} ]]; then
|
||||||
|
|
@ -4660,8 +4685,7 @@ prompt_azure() {
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
[[ -n $_p9k__cache_val[1] ]] || return
|
_p9k_prompt_segment "$0$state" "blue" "white" "AZURE_ICON" 0 '' "${name//\%/%%}"
|
||||||
_p9k_prompt_segment "$0$state" "blue" "white" "AZURE_ICON" 0 '' "${_p9k__cache_val[1]//\%/%%}"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_p9k_prompt_azure_init() {
|
_p9k_prompt_azure_init() {
|
||||||
|
|
@ -4894,6 +4918,10 @@ function _p9k_fetch_nordvpn_status() {
|
||||||
# POWERLEVEL9K_NORDVPN_CONNECTING_CONTENT_EXPANSION='${P9K_NORDVPN_COUNTRY_CODE}'
|
# POWERLEVEL9K_NORDVPN_CONNECTING_CONTENT_EXPANSION='${P9K_NORDVPN_COUNTRY_CODE}'
|
||||||
# POWERLEVEL9K_NORDVPN_CONNECTING_BACKGROUND=cyan
|
# POWERLEVEL9K_NORDVPN_CONNECTING_BACKGROUND=cyan
|
||||||
function prompt_nordvpn() {
|
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
|
unset $__p9k_nordvpn_tag P9K_NORDVPN_COUNTRY_CODE
|
||||||
[[ -e /run/nordvpn/nordvpnd.sock ]] || return
|
[[ -e /run/nordvpn/nordvpnd.sock ]] || return
|
||||||
_p9k_fetch_nordvpn_status 2>/dev/null || return
|
_p9k_fetch_nordvpn_status 2>/dev/null || return
|
||||||
|
|
@ -4931,6 +4959,18 @@ function instant_prompt_ranger() {
|
||||||
_p9k_prompt_segment prompt_ranger $_p9k_color1 yellow RANGER_ICON 1 '$RANGER_LEVEL' '$RANGER_LEVEL'
|
_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() {
|
function prompt_midnight_commander() {
|
||||||
local -i len=$#_p9k__prompt _p9k__has_upglob
|
local -i len=$#_p9k__prompt _p9k__has_upglob
|
||||||
_p9k_prompt_segment $0 $_p9k_color1 yellow MIDNIGHT_COMMANDER_ICON 0 '' ''
|
_p9k_prompt_segment $0 $_p9k_color1 yellow MIDNIGHT_COMMANDER_ICON 0 '' ''
|
||||||
|
|
@ -5030,12 +5070,16 @@ _p9k_prompt_terraform_init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function prompt_terraform_version() {
|
function prompt_terraform_version() {
|
||||||
_p9k_cached_cmd 0 '' terraform --version || return
|
local v cfg terraform=${commands[terraform]}
|
||||||
local v=${_p9k__ret#Terraform v}
|
_p9k_upglob .terraform-version -. || cfg=$_p9k__parent_dirs[$?]/.terraform-version
|
||||||
(( $#v < $#_p9k__ret )) || return
|
if _p9k_cache_stat_get $0.$TFENV_TERRAFORM_VERSION $terraform $cfg; then
|
||||||
v=${v%%$'\n'*}
|
v=$_p9k__cache_val[1]
|
||||||
|
else
|
||||||
|
v=${${"$(terraform --version 2>/dev/null)"#Terraform v}%%$'\n'*} || v=
|
||||||
|
_p9k_cache_stat_set "$v"
|
||||||
|
fi
|
||||||
[[ -n $v ]] || return
|
[[ -n $v ]] || return
|
||||||
_p9k_prompt_segment $0 $_p9k_color1 blue TERRAFORM_ICON 0 '' $v
|
_p9k_prompt_segment $0 $_p9k_color1 blue TERRAFORM_ICON 0 '' ${v//\%/%%}
|
||||||
}
|
}
|
||||||
|
|
||||||
_p9k_prompt_terraform_version_init() {
|
_p9k_prompt_terraform_version_init() {
|
||||||
|
|
@ -5085,7 +5129,7 @@ function _p9k_timewarrior_clear() {
|
||||||
|
|
||||||
function prompt_timewarrior() {
|
function prompt_timewarrior() {
|
||||||
local dir
|
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=${XDG_DATA_HOME:-~/.local/share}/timewarrior
|
||||||
dir+=/data
|
dir+=/data
|
||||||
local -a stat
|
local -a stat
|
||||||
|
|
@ -5194,7 +5238,10 @@ function _p9k_taskwarrior_check_data() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function _p9k_taskwarrior_init_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_files=($^files(N))
|
||||||
_p9k_taskwarrior_data_non_files=(${files:|_p9k_taskwarrior_data_files})
|
_p9k_taskwarrior_data_non_files=(${files:|_p9k_taskwarrior_data_files})
|
||||||
if (( $#_p9k_taskwarrior_data_files )); then
|
if (( $#_p9k_taskwarrior_data_files )); then
|
||||||
|
|
@ -5221,7 +5268,9 @@ function _p9k_taskwarrior_init_data() {
|
||||||
local -a ts
|
local -a ts
|
||||||
ts=($(command task +PENDING -OVERDUE list rc.verbose=nothing rc.color=0 rc._forcecolor=0 \
|
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 2>/dev/null)) || ts=()
|
rc.report.list.labels= rc.report.list.columns=due.epoch </dev/null 2>/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=${${(on)ts}[1]}
|
||||||
(( _p9k_taskwarrior_next_due > EPOCHSECONDS )) || _p9k_taskwarrior_next_due=$((EPOCHSECONDS+60))
|
(( _p9k_taskwarrior_next_due > EPOCHSECONDS )) || _p9k_taskwarrior_next_due=$((EPOCHSECONDS+60))
|
||||||
fi
|
fi
|
||||||
|
|
@ -5707,15 +5756,19 @@ prompt_cpu_arch() {
|
||||||
state=$_p9k__cache_val[1]
|
state=$_p9k__cache_val[1]
|
||||||
text=$_p9k__cache_val[2]
|
text=$_p9k__cache_val[2]
|
||||||
else
|
else
|
||||||
local cmd
|
if [[ -r /proc/sys/kernel/arch ]]; then
|
||||||
for cmd in machine arch; do
|
text=$(</proc/sys/kernel/arch)
|
||||||
(( $+commands[$cmd] )) || continue
|
else
|
||||||
if text=$(command -- $cmd) 2>/dev/null && [[ $text == [a-zA-Z][a-zA-Z0-9_]# ]]; then
|
local cmd
|
||||||
break
|
for cmd in machine arch; do
|
||||||
else
|
(( $+commands[$cmd] )) || continue
|
||||||
text=
|
if text=$(command -- $cmd) 2>/dev/null && [[ $text == [a-zA-Z][a-zA-Z0-9_]# ]]; then
|
||||||
fi
|
break
|
||||||
done
|
else
|
||||||
|
text=
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
state=_${${(U)text}//İ/I}
|
state=_${${(U)text}//İ/I}
|
||||||
_p9k_cache_ephemeral_set "$state" "$text"
|
_p9k_cache_ephemeral_set "$state" "$text"
|
||||||
fi
|
fi
|
||||||
|
|
@ -5730,6 +5783,31 @@ _p9k_prompt_cpu_arch_init() {
|
||||||
typeset -g "_p9k__segment_cond_${_p9k__prompt_side}[_p9k__segment_index]"='$commands[machine]$commands[arch]'
|
typeset -g "_p9k__segment_cond_${_p9k__prompt_side}[_p9k__segment_index]"='$commands[machine]$commands[arch]'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
################################################################
|
||||||
|
# Oh My Zsh per-directory-history local/global indicator
|
||||||
|
prompt_per_directory_history() {
|
||||||
|
if [[ $_per_directory_history_is_global == true ]]; then
|
||||||
|
_p9k_prompt_segment ${0}_GLOBAL 3 $_p9k_color1 HISTORY_ICON 0 '' global
|
||||||
|
else
|
||||||
|
_p9k_prompt_segment ${0}_LOCAL 5 $_p9k_color1 HISTORY_ICON 0 '' local
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
instant_prompt_per_directory_history() {
|
||||||
|
case $HISTORY_START_WITH_GLOBAL in
|
||||||
|
true)
|
||||||
|
_p9k_prompt_segment prompt_per_directory_history_GLOBAL 3 $_p9k_color1 HISTORY_ICON 0 '' global
|
||||||
|
;;
|
||||||
|
?*)
|
||||||
|
_p9k_prompt_segment prompt_per_directory_history_LOCAL 5 $_p9k_color1 HISTORY_ICON 0 '' local
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
_p9k_prompt_per_directory_history_init() {
|
||||||
|
typeset -g "_p9k__segment_cond_${_p9k__prompt_side}[_p9k__segment_index]"='$PER_DIRECTORY_HISTORY_TOGGLE'
|
||||||
|
}
|
||||||
|
|
||||||
# Use two preexec hooks to survive https://github.com/MichaelAquilina/zsh-you-should-use with
|
# Use two preexec hooks to survive https://github.com/MichaelAquilina/zsh-you-should-use with
|
||||||
# YSU_HARDCORE=1. See https://github.com/romkatv/powerlevel10k/issues/427.
|
# YSU_HARDCORE=1. See https://github.com/romkatv/powerlevel10k/issues/427.
|
||||||
_p9k_preexec1() {
|
_p9k_preexec1() {
|
||||||
|
|
@ -5742,7 +5820,7 @@ _p9k_preexec2() {
|
||||||
typeset -g _p9k__preexec_cmd=$2
|
typeset -g _p9k__preexec_cmd=$2
|
||||||
_p9k__timer_start=EPOCHREALTIME
|
_p9k__timer_start=EPOCHREALTIME
|
||||||
P9K_TTY=old
|
P9K_TTY=old
|
||||||
(( ! $+_p9k__iterm_cmd )) || _p9k_iterm2_preexec
|
(( ! $+_p9k__iterm_cmd )) || _p9k_iterm2_preexec "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
function _p9k_prompt_net_iface_init() {
|
function _p9k_prompt_net_iface_init() {
|
||||||
|
|
@ -6622,7 +6700,7 @@ function _p9k_clear_instant_prompt() {
|
||||||
fi
|
fi
|
||||||
print -rn -- $terminfo[rc]${(%):-%b%k%f%s%u}$terminfo[ed]
|
print -rn -- $terminfo[rc]${(%):-%b%k%f%s%u}$terminfo[ed]
|
||||||
local unexpected=${${content//$'\e[?'<->'c'}//$'\e['<->' q'}
|
local unexpected=${${content//$'\e[?'<->'c'}//$'\e['<->' q'}
|
||||||
unexpected=${(S)unexpected//$'\eP'*[^$'\e']#($'\e\\')}
|
unexpected=${(S)unexpected//$'\eP'(|*[^$'\e'])($'\e\e')#$'\e\\'}
|
||||||
unexpected=${(S)unexpected//$'\e'[^$'\a\e']#($'\a'|$'\e\\')}
|
unexpected=${(S)unexpected//$'\e'[^$'\a\e']#($'\a'|$'\e\\')}
|
||||||
# Visual Studio Code prints this garbage.
|
# Visual Studio Code prints this garbage.
|
||||||
unexpected=${${unexpected//$'\033[1;32mShell integration activated\033[0m\n'}//$'\r'}
|
unexpected=${${unexpected//$'\033[1;32mShell integration activated\033[0m\n'}//$'\r'}
|
||||||
|
|
@ -6670,9 +6748,9 @@ function _p9k_clear_instant_prompt() {
|
||||||
echo -E - ""
|
echo -E - ""
|
||||||
echo -E - "${(%):-For details, see:}"
|
echo -E - "${(%):-For details, see:}"
|
||||||
if (( _p9k_term_has_href )); then
|
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
|
else
|
||||||
echo - "${(%):-https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt}"
|
echo - "${(%):-https://github.com/romkatv/powerlevel10k#instant-prompt}"
|
||||||
fi
|
fi
|
||||||
echo -E - ""
|
echo -E - ""
|
||||||
echo - "${(%):-%3F-- console output produced during zsh initialization follows --%f}"
|
echo - "${(%):-%3F-- console output produced during zsh initialization follows --%f}"
|
||||||
|
|
@ -7384,6 +7462,36 @@ _p9k_init_params() {
|
||||||
_p9k_declare -b POWERLEVEL9K_VCS_CONFLICTED_STATE 0
|
_p9k_declare -b POWERLEVEL9K_VCS_CONFLICTED_STATE 0
|
||||||
_p9k_declare -b POWERLEVEL9K_HIDE_BRANCH_ICON 0
|
_p9k_declare -b POWERLEVEL9K_HIDE_BRANCH_ICON 0
|
||||||
_p9k_declare -b POWERLEVEL9K_VCS_HIDE_TAGS 0
|
_p9k_declare -b POWERLEVEL9K_VCS_HIDE_TAGS 0
|
||||||
|
_p9k_declare -a POWERLEVEL9K_VCS_GIT_REMOTE_ICONS
|
||||||
|
if (( $+_POWERLEVEL9K_VCS_GIT_REMOTE_ICONS )); then
|
||||||
|
(( $#_POWERLEVEL9K_VCS_GIT_REMOTE_ICONS & 1 )) && _POWERLEVEL9K_VCS_GIT_REMOTE_ICONS+=('')
|
||||||
|
else
|
||||||
|
local domain= icon= domain2icon=(
|
||||||
|
'archlinux.org' VCS_GIT_ARCHLINUX_ICON
|
||||||
|
'dev.azure.com|visualstudio.com' VCS_GIT_AZURE_ICON
|
||||||
|
'bitbucket.org' VCS_GIT_BITBUCKET_ICON
|
||||||
|
'codeberg.org' VCS_GIT_CODEBERG_ICON
|
||||||
|
'debian.org' VCS_GIT_DEBIAN_ICON
|
||||||
|
'freebsd.org' VCS_GIT_FREEBSD_ICON
|
||||||
|
'freedesktop.org' VCS_GIT_FREEDESKTOP_ICON
|
||||||
|
'gitea.com|gitea.io' VCS_GIT_GITEA_ICON
|
||||||
|
'github.com' VCS_GIT_GITHUB_ICON
|
||||||
|
'gitlab.com' VCS_GIT_GITLAB_ICON
|
||||||
|
'gnome.org' VCS_GIT_GNOME_ICON
|
||||||
|
'gnu.org' VCS_GIT_GNU_ICON
|
||||||
|
'kde.org' VCS_GIT_KDE_ICON
|
||||||
|
'kernel.org' VCS_GIT_LINUX_ICON
|
||||||
|
'sr.ht' VCS_GIT_SOURCEHUT_ICON
|
||||||
|
)
|
||||||
|
typeset -ga _POWERLEVEL9K_VCS_GIT_REMOTE_ICONS
|
||||||
|
for domain icon in "${domain2icon[@]}"; do
|
||||||
|
_POWERLEVEL9K_VCS_GIT_REMOTE_ICONS+=(
|
||||||
|
'(|[A-Za-z0-9][A-Za-z0-9+.-]#://)(|[^:/?#]#[.@])((#i)'$domain')(|[/:?#]*)'
|
||||||
|
$icon
|
||||||
|
)
|
||||||
|
done
|
||||||
|
_POWERLEVEL9K_VCS_GIT_REMOTE_ICONS+=('*' VCS_GIT_ICON)
|
||||||
|
fi
|
||||||
_p9k_declare -i POWERLEVEL9K_CHANGESET_HASH_LENGTH 8
|
_p9k_declare -i POWERLEVEL9K_CHANGESET_HASH_LENGTH 8
|
||||||
# Specifies the maximum number of elements in the cache. When the cache grows over this limit,
|
# Specifies the maximum number of elements in the cache. When the cache grows over this limit,
|
||||||
# it gets cleared. This is meant to avoid memory leaks when a rogue prompt is filling the cache
|
# it gets cleared. This is meant to avoid memory leaks when a rogue prompt is filling the cache
|
||||||
|
|
@ -8490,7 +8598,14 @@ function _p9k_init_cacheable() {
|
||||||
_p9k_transient_prompt+='${${P9K_CONTENT::="❯"}+}'
|
_p9k_transient_prompt+='${${P9K_CONTENT::="❯"}+}'
|
||||||
_p9k_param prompt_prompt_char_ERROR_VIINS CONTENT_EXPANSION '${P9K_CONTENT}'
|
_p9k_param prompt_prompt_char_ERROR_VIINS CONTENT_EXPANSION '${P9K_CONTENT}'
|
||||||
_p9k_transient_prompt+='${:-"'$_p9k__ret'"}'
|
_p9k_transient_prompt+='${:-"'$_p9k__ret'"}'
|
||||||
_p9k_transient_prompt+=')%b%k%f%s%u '
|
_p9k_transient_prompt+=')%b%k%f%s%u'
|
||||||
|
_p9k_get_icon '' LEFT_SEGMENT_END_SEPARATOR
|
||||||
|
if [[ $_p9k__ret != (| ) ]]; then
|
||||||
|
_p9k__ret+=%b%k%f
|
||||||
|
# Not escaped for historical reasons.
|
||||||
|
_p9k__ret='${:-"'$_p9k__ret'"}'
|
||||||
|
fi
|
||||||
|
_p9k_transient_prompt+=$_p9k__ret
|
||||||
if (( _POWERLEVEL9K_TERM_SHELL_INTEGRATION )); then
|
if (( _POWERLEVEL9K_TERM_SHELL_INTEGRATION )); then
|
||||||
_p9k_transient_prompt=$'%{\e]133;A\a%}'$_p9k_transient_prompt$'%{\e]133;B\a%}'
|
_p9k_transient_prompt=$'%{\e]133;A\a%}'$_p9k_transient_prompt$'%{\e]133;B\a%}'
|
||||||
if (( $+_z4h_iterm_cmd && _z4h_can_save_restore_screen == 1 )); then
|
if (( $+_z4h_iterm_cmd && _z4h_can_save_restore_screen == 1 )); then
|
||||||
|
|
@ -8517,14 +8632,20 @@ function _p9k_init_cacheable() {
|
||||||
if [[ -r /etc/os-release ]]; then
|
if [[ -r /etc/os-release ]]; then
|
||||||
local lines=(${(f)"$(</etc/os-release)"})
|
local lines=(${(f)"$(</etc/os-release)"})
|
||||||
lines=(${(@M)lines:#ID=*})
|
lines=(${(@M)lines:#ID=*})
|
||||||
(( $#lines == 1 )) && os_release_id=${lines[1]#ID=}
|
(( $#lines == 1 )) && os_release_id=${(Q)${lines[1]#ID=}}
|
||||||
elif [[ -e /etc/artix-release ]]; then
|
elif [[ -e /etc/artix-release ]]; then
|
||||||
os_release_id=artix
|
os_release_id=artix
|
||||||
fi
|
fi
|
||||||
case $os_release_id in
|
case $os_release_id in
|
||||||
*arch*) _p9k_set_os Linux LINUX_ARCH_ICON;;
|
*arch*) _p9k_set_os Linux LINUX_ARCH_ICON;;
|
||||||
*debian*) _p9k_set_os Linux LINUX_DEBIAN_ICON;;
|
|
||||||
*raspbian*) _p9k_set_os Linux LINUX_RASPBIAN_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;;
|
*ubuntu*) _p9k_set_os Linux LINUX_UBUNTU_ICON;;
|
||||||
*elementary*) _p9k_set_os Linux LINUX_ELEMENTARY_ICON;;
|
*elementary*) _p9k_set_os Linux LINUX_ELEMENTARY_ICON;;
|
||||||
*fedora*) _p9k_set_os Linux LINUX_FEDORA_ICON;;
|
*fedora*) _p9k_set_os Linux LINUX_FEDORA_ICON;;
|
||||||
|
|
@ -8547,6 +8668,10 @@ function _p9k_init_cacheable() {
|
||||||
*rhel*) _p9k_set_os Linux LINUX_RHEL_ICON;;
|
*rhel*) _p9k_set_os Linux LINUX_RHEL_ICON;;
|
||||||
amzn) _p9k_set_os Linux LINUX_AMZN_ICON;;
|
amzn) _p9k_set_os Linux LINUX_AMZN_ICON;;
|
||||||
endeavouros) _p9k_set_os Linux LINUX_ENDEAVOUROS_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;;
|
*) _p9k_set_os Linux LINUX_ICON;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
|
@ -8761,7 +8886,17 @@ function _p9k_iterm2_precmd() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function _p9k_iterm2_preexec() {
|
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
|
typeset -gi _p9k__iterm_cmd=2
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -8891,9 +9026,9 @@ _p9k_init() {
|
||||||
>&2 echo -E - ""
|
>&2 echo -E - ""
|
||||||
>&2 echo -E - "${(%):- - %BRecommended%b: Change the way Powerlevel10k is loaded from %B$__p9k_zshrc_u%b.}"
|
>&2 echo -E - "${(%):- - %BRecommended%b: Change the way Powerlevel10k is loaded from %B$__p9k_zshrc_u%b.}"
|
||||||
if (( _p9k_term_has_href )); then
|
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
|
else
|
||||||
>&2 echo - "${(%):- See https://github.com/romkatv/powerlevel10k/blob/master/README.md#installation.}"
|
>&2 echo - "${(%):- See https://github.com/romkatv/powerlevel10k#installation.}"
|
||||||
fi
|
fi
|
||||||
if (( $+zsh_defer_options )); then
|
if (( $+zsh_defer_options )); then
|
||||||
>&2 echo -E - ""
|
>&2 echo -E - ""
|
||||||
|
|
@ -8966,6 +9101,7 @@ _p9k_precmd_first() {
|
||||||
if [[ -n $KITTY_SHELL_INTEGRATION && KITTY_SHELL_INTEGRATION[(wIe)no-prompt-mark] -eq 0 ]]; then
|
if [[ -n $KITTY_SHELL_INTEGRATION && KITTY_SHELL_INTEGRATION[(wIe)no-prompt-mark] -eq 0 ]]; then
|
||||||
KITTY_SHELL_INTEGRATION+=' no-prompt-mark'
|
KITTY_SHELL_INTEGRATION+=' no-prompt-mark'
|
||||||
(( $+__p9k_force_term_shell_integration )) || typeset -gri __p9k_force_term_shell_integration=1
|
(( $+__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
|
elif [[ $TERM_PROGRAM == WarpTerminal ]]; then
|
||||||
(( $+__p9k_force_term_shell_integration )) || typeset -gri __p9k_force_term_shell_integration=1
|
(( $+__p9k_force_term_shell_integration )) || typeset -gri __p9k_force_term_shell_integration=1
|
||||||
fi
|
fi
|
||||||
|
|
@ -9367,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
|
zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
typeset -g P9K_VERSION=1.19.0
|
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
|
unset VSCODE_SHELL_INTEGRATION
|
||||||
|
|
||||||
_p9k_init_ssh
|
_p9k_init_ssh
|
||||||
|
|
|
||||||
|
|
@ -102,7 +102,7 @@ typeset -grA __p9k_pb_term_skip=(
|
||||||
|
|
||||||
# Usage: _p9k_parse_buffer <buffer> [token-limit]
|
# Usage: _p9k_parse_buffer <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
|
# with commands from it. Terminates early and returns 1 if there are more
|
||||||
# tokens than the specified limit.
|
# tokens than the specified limit.
|
||||||
#
|
#
|
||||||
|
|
|
||||||
|
|
@ -1126,13 +1126,20 @@ function os_icon_name() {
|
||||||
if [[ -r /etc/os-release ]]; then
|
if [[ -r /etc/os-release ]]; then
|
||||||
local lines=(${(f)"$(</etc/os-release)"})
|
local lines=(${(f)"$(</etc/os-release)"})
|
||||||
lines=(${(@M)lines:#ID=*})
|
lines=(${(@M)lines:#ID=*})
|
||||||
(( $#lines == 1 )) && os_release_id=${lines[1]#ID=}
|
(( $#lines == 1 )) && os_release_id=${(Q)${lines[1]#ID=}}
|
||||||
elif [[ -e /etc/artix-release ]]; then
|
elif [[ -e /etc/artix-release ]]; then
|
||||||
os_release_id=artix
|
os_release_id=artix
|
||||||
fi
|
fi
|
||||||
case $os_release_id in
|
case $os_release_id in
|
||||||
*arch*) echo LINUX_ARCH_ICON;;
|
*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;;
|
*raspbian*) echo LINUX_RASPBIAN_ICON;;
|
||||||
*ubuntu*) echo LINUX_UBUNTU_ICON;;
|
*ubuntu*) echo LINUX_UBUNTU_ICON;;
|
||||||
*elementary*) echo LINUX_ELEMENTARY_ICON;;
|
*elementary*) echo LINUX_ELEMENTARY_ICON;;
|
||||||
|
|
@ -1156,6 +1163,10 @@ function os_icon_name() {
|
||||||
*rhel*) echo LINUX_RHEL_ICON;;
|
*rhel*) echo LINUX_RHEL_ICON;;
|
||||||
amzn) echo LINUX_AMZN_ICON;;
|
amzn) echo LINUX_AMZN_ICON;;
|
||||||
endeavouros) echo LINUX_ENDEAVOUROS_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;;
|
*) echo LINUX_ICON;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
|
@ -1279,42 +1290,34 @@ function ask_heads() {
|
||||||
fi
|
fi
|
||||||
local extra
|
local extra
|
||||||
add_widget 0 flowing -c "%BPrompt Heads%b"
|
add_widget 0 flowing -c "%BPrompt Heads%b"
|
||||||
if (( cap_diamond )); then
|
add_widget 0 print -Pl " head" "%B(1) Flat.%b |" " v"
|
||||||
add_widget 0 print -Pl " head" "%B(1) Sharp.%b |" " v"
|
add_widget 3 print -P "%B(1) Flat.%b"
|
||||||
add_widget 3 print -P "%B(1) Sharp.%b"
|
add_prompt_n left_head= right_head=
|
||||||
add_prompt_n left_head=$right_triangle right_head=$left_triangle
|
add_widget 0 print
|
||||||
add_widget 0 print
|
add_widget 2
|
||||||
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 -P "%B(2) Blurred.%b"
|
add_widget 0 print -P "%B(2) Blurred.%b"
|
||||||
add_prompt left_head=$fade_out right_head=$fade_in
|
add_prompt left_head=$fade_out right_head=$fade_in
|
||||||
if [[ $POWERLEVEL9K_MODE == nerdfont-* ]]; then
|
if (( cap_diamond )); then
|
||||||
extra+=3
|
extra+=3
|
||||||
add_widget 0 print -P "%B(3) Slanted.%b"
|
add_widget 0 print -P "%B(3) Sharp.%b"
|
||||||
add_prompt left_head=$down_triangle right_head=$up_triangle
|
add_prompt left_head=$right_triangle right_head=$left_triangle
|
||||||
extra+=4
|
if [[ $POWERLEVEL9K_MODE == nerdfont-* ]]; then
|
||||||
add_widget 0 print -P "%B(4) Round.%b"
|
extra+=4
|
||||||
add_prompt left_head=$right_circle right_head=$left_circle
|
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
|
fi
|
||||||
add_widget 0 print -P "(r) Restart from the beginning."
|
add_widget 0 print -P "(r) Restart from the beginning."
|
||||||
ask 12${extra}r
|
ask 12${extra}r
|
||||||
case $choice in
|
case $choice in
|
||||||
r) return 1;;
|
r) return 1;;
|
||||||
1)
|
1)
|
||||||
if (( cap_diamond )); then
|
left_head=
|
||||||
left_head=$right_triangle
|
right_head=
|
||||||
right_head=$left_triangle
|
options+='flat heads'
|
||||||
options+='sharp heads'
|
|
||||||
else
|
|
||||||
left_head=
|
|
||||||
right_head=
|
|
||||||
options+='flat heads'
|
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
left_head=$fade_out
|
left_head=$fade_out
|
||||||
|
|
@ -1322,11 +1325,16 @@ function ask_heads() {
|
||||||
options+='blurred heads'
|
options+='blurred heads'
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
|
left_head=$right_triangle
|
||||||
|
right_head=$left_triangle
|
||||||
|
options+='sharp heads'
|
||||||
|
;;
|
||||||
|
4)
|
||||||
left_head=$down_triangle
|
left_head=$down_triangle
|
||||||
right_head=$up_triangle
|
right_head=$up_triangle
|
||||||
options+='slanted heads'
|
options+='slanted heads'
|
||||||
;;
|
;;
|
||||||
4)
|
5)
|
||||||
left_head=$right_circle
|
left_head=$right_circle
|
||||||
right_head=$left_circle
|
right_head=$left_circle
|
||||||
options+='round heads'
|
options+='round heads'
|
||||||
|
|
@ -1499,7 +1507,7 @@ function ask_empty_line() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function print_instant_prompt_link() {
|
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
|
(( wizard_columns < $#link )) && return
|
||||||
print
|
print
|
||||||
flowing -c "$(href $link)"
|
flowing -c "$(href $link)"
|
||||||
|
|
@ -1740,6 +1748,8 @@ function generate_config() {
|
||||||
sub NORDVPN_VISUAL_IDENTIFIER_EXPANSION "'nord'"
|
sub NORDVPN_VISUAL_IDENTIFIER_EXPANSION "'nord'"
|
||||||
uncomment 'typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION'
|
uncomment 'typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION'
|
||||||
sub 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'
|
uncomment 'typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION'
|
||||||
sub KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION "'○'"
|
sub KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION "'○'"
|
||||||
uncomment 'typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION'
|
uncomment 'typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION'
|
||||||
|
|
@ -1948,7 +1958,7 @@ function generate_config() {
|
||||||
command mkdir -p -- ${__p9k_cfg_path:h} || return
|
command mkdir -p -- ${__p9k_cfg_path:h} || return
|
||||||
|
|
||||||
if [[ -e $__p9k_cfg_path ]]; then
|
if [[ -e $__p9k_cfg_path ]]; then
|
||||||
unlink $__p9k_cfg_path || return
|
zf_rm -f -- $__p9k_cfg_path || return
|
||||||
fi
|
fi
|
||||||
print -lr -- "$header" "$lines[@]" >$__p9k_cfg_path
|
print -lr -- "$header" "$lines[@]" >$__p9k_cfg_path
|
||||||
}
|
}
|
||||||
|
|
@ -2024,7 +2034,7 @@ function check_zshrc_integration() {
|
||||||
local h9='"$ZDOTDIR"/.p10k.zsh'
|
local h9='"$ZDOTDIR"/.p10k.zsh'
|
||||||
local h10='$POWERLEVEL9K_CONFIG_FILE'
|
local h10='$POWERLEVEL9K_CONFIG_FILE'
|
||||||
local h11='"$POWERLEVEL9K_CONFIG_FILE"'
|
local h11='"$POWERLEVEL9K_CONFIG_FILE"'
|
||||||
if [[ -n ${(@M)lines:#(#b)[^#]#([^[:IDENT:]]|)source[[:space:]]##($f1|$f2|$f3|$f4|$g1|$h0|$h1|$h2|$h3|$h4|$h5|$h6|$h7|$h8|$h9|$h10|$h11)(|[[:space:]]*|'#'*)} ]]; then
|
if [[ -n ${(@M)lines:#(#b)[^#]#([^[:IDENT:]]|)source[[:space:]]##(|--[[:space:]]##)($f1|$f2|$f3|$f4|$g1|$h0|$h1|$h2|$h3|$h4|$h5|$h6|$h7|$h8|$h9|$h10|$h11)(|[[:space:]]*|'#'*)} ]]; then
|
||||||
zshrc_has_cfg=1
|
zshrc_has_cfg=1
|
||||||
fi
|
fi
|
||||||
local pre='${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh'
|
local pre='${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh'
|
||||||
|
|
@ -2106,7 +2116,7 @@ while true; do
|
||||||
|
|
||||||
unset pure_use_rprompt
|
unset pure_use_rprompt
|
||||||
|
|
||||||
if [[ $TERM != (dumb|linux) && $langinfo[CODESET] == (utf|UTF)(-|)8 ]]; then
|
if [[ -o multibyte && $TERM != (dumb|linux) && $langinfo[CODESET] == (utf|UTF)(-|)8 ]]; then
|
||||||
ask_font || continue
|
ask_font || continue
|
||||||
ask_diamond || continue
|
ask_diamond || continue
|
||||||
if [[ $AWESOME_GLYPHS_LOADED == 1 ]]; then
|
if [[ $AWESOME_GLYPHS_LOADED == 1 ]]; then
|
||||||
|
|
@ -2133,16 +2143,16 @@ while true; do
|
||||||
elif (( ! cap_diamond )); then
|
elif (( ! cap_diamond )); then
|
||||||
POWERLEVEL9K_MODE=awesome-fontconfig
|
POWERLEVEL9K_MODE=awesome-fontconfig
|
||||||
else
|
else
|
||||||
ask_arrow '\uFC35' || continue
|
ask_arrow '\UF0737' || continue
|
||||||
if (( cap_arrow )); then
|
if (( cap_arrow )); then
|
||||||
POWERLEVEL9K_MODE=nerdfont-complete
|
ask_width || continue
|
||||||
|
fi
|
||||||
|
if (( cap_arrow )); then
|
||||||
|
POWERLEVEL9K_MODE=nerdfont-v3
|
||||||
else
|
else
|
||||||
ask_arrow '\UF0737' "Let's try another one." || continue
|
ask_arrow '\uFC35' "Let's try another one." || continue
|
||||||
if (( cap_arrow )); then
|
if (( cap_arrow )); then
|
||||||
ask_width || continue
|
POWERLEVEL9K_MODE=nerdfont-complete
|
||||||
fi
|
|
||||||
if (( cap_arrow )); then
|
|
||||||
POWERLEVEL9K_MODE=nerdfont-v3
|
|
||||||
else
|
else
|
||||||
POWERLEVEL9K_MODE=awesome-fontconfig
|
POWERLEVEL9K_MODE=awesome-fontconfig
|
||||||
ask_python || continue
|
ask_python || continue
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue