Compare commits

...

9 Commits

Author SHA1 Message Date
Faddeev-Popov 37b7760a12
Merge 8cc3298bac into 3308262dfb 2026-08-20 18:23:58 -04:00
Roman Perepelitsa 3308262dfb Merge commit '242ccfaef86ab3ab6a5f3c19f3396cdbc1049968' 2026-08-15 11:22:58 +02:00
Roman Perepelitsa 242ccfaef8 Squashed 'gitstatus/' changes from 075baf6e..39d34dff
39d34dff add a CHECK to Arena.Allocate<T>(n)

git-subtree-dir: gitstatus
git-subtree-split: 39d34dff4456067a0df17bdf1ea74b07c1983b39
2026-08-15 11:22:58 +02:00
Roman Perepelitsa 58e13d16a5 bug fix: slap (V) on the content of `package` (#2961)
The same should be done with a bunch of other prompt segments.
2026-08-15 10:21:46 +02:00
Faddeev-Popov 8cc3298bac update readme with vifm information 2025-06-11 04:18:35 -04:00
Faddeev-Popov 29fe575b3c add themes support for vifm 2025-06-11 04:18:29 -04:00
Faddeev-Popov ff6f434aa9 add visual expansion to wizard for vifm 2025-06-11 04:18:24 -04:00
Faddeev-Popov 9b3fc772e4 add prompt segment for vifm levels 2025-06-11 04:18:21 -04:00
Faddeev-Popov f049be947c add icon for vifm level 2025-06-11 04:17:43 -04:00
10 changed files with 62 additions and 7 deletions

View File

@ -364,6 +364,7 @@ You can enable as many segments as you like. It won't slow down your prompt or Z
| `ram` | free RAM |
| `ranger` | [ranger](https://github.com/ranger/ranger) shell |
| `yazi` | [yazi](https://github.com/sxyazi/yazi) shell |
| `vifm` | [vifm](https://github.com/vifm/vifm) shell |
| `rbenv` | ruby environment from [rbenv](https://github.com/rbenv/rbenv) |
| `rust_version` | [rustc](https://www.rust-lang.org) version |
| `rvm` | ruby environment from [rvm](https://rvm.io) |

View File

@ -82,6 +82,7 @@
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
ranger # ranger shell (https://github.com/ranger/ranger)
yazi # yazi shell (https://github.com/sxyazi/yazi)
vifm # vifm shell (https://github.com/vifm/vifm)
nnn # nnn shell (https://github.com/jarun/nnn)
lf # lf shell (https://github.com/gokcehan/lf)
xplr # xplr shell (https://github.com/sayanarijit/xplr)
@ -737,6 +738,12 @@
# Custom icon.
# typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐'
####################[ vifm: vifm shell (https://github.com/vifm/vifm) ]#####################
# Vifm shell color.
typeset -g POWERLEVEL9K_VIFM_FOREGROUND=178
# Custom icon.
# typeset -g POWERLEVEL9K_VIFM_VISUAL_IDENTIFIER_EXPANSION='⭐'
######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
# Nnn shell color.
typeset -g POWERLEVEL9K_NNN_FOREGROUND=72
@ -1126,7 +1133,7 @@
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
#
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}'
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${(V)P9K_PACKAGE_NAME//\%/%%}@${(V)P9K_PACKAGE_VERSION//\%/%%}'
# Custom icon.
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'

View File

@ -82,6 +82,7 @@
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
ranger # ranger shell (https://github.com/ranger/ranger)
yazi # yazi shell (https://github.com/sxyazi/yazi)
vifm # vifm shell (https://github.com/vifm/vifm)
nnn # nnn shell (https://github.com/jarun/nnn)
lf # lf shell (https://github.com/gokcehan/lf)
xplr # xplr shell (https://github.com/sayanarijit/xplr)
@ -728,6 +729,12 @@
# Custom icon.
# typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐'
####################[ vifm: vifm shell (https://github.com/vifm/vifm) ]#####################
# Vifm shell color.
typeset -g POWERLEVEL9K_VIFM_FOREGROUND=3
# Custom icon.
# typeset -g POWERLEVEL9K_VIFM_VISUAL_IDENTIFIER_EXPANSION='⭐'
######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
# Nnn shell color.
typeset -g POWERLEVEL9K_NNN_FOREGROUND=3
@ -1101,7 +1108,7 @@
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
#
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}'
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${(V)P9K_PACKAGE_NAME//\%/%%}@${(V)P9K_PACKAGE_VERSION//\%/%%}'
# Custom icon.
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'

View File

@ -82,6 +82,7 @@
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
ranger # ranger shell (https://github.com/ranger/ranger)
yazi # yazi shell (https://github.com/sxyazi/yazi)
vifm # vifm shell (https://github.com/vifm/vifm)
nnn # nnn shell (https://github.com/jarun/nnn)
lf # lf shell (https://github.com/gokcehan/lf)
xplr # xplr shell (https://github.com/sayanarijit/xplr)
@ -728,6 +729,12 @@
# Custom icon.
# typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐'
####################[ vifm: vifm shell (https://github.com/vifm/vifm) ]#####################
# Vifm shell color.
typeset -g POWERLEVEL9K_VIFM_FOREGROUND=178
# Custom icon.
# typeset -g POWERLEVEL9K_VIFM_VISUAL_IDENTIFIER_EXPANSION='⭐'
######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
# Nnn shell color.
typeset -g POWERLEVEL9K_NNN_FOREGROUND=72
@ -1101,7 +1108,7 @@
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
#
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}'
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${(V)P9K_PACKAGE_NAME//\%/%%}@${(V)P9K_PACKAGE_VERSION//\%/%%}'
# Custom icon.
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'

View File

@ -82,6 +82,7 @@
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
ranger # ranger shell (https://github.com/ranger/ranger)
yazi # yazi shell (https://github.com/sxyazi/yazi)
vifm # vifm shell (https://github.com/vifm/vifm)
nnn # nnn shell (https://github.com/jarun/nnn)
lf # lf shell (https://github.com/gokcehan/lf)
xplr # xplr shell (https://github.com/sayanarijit/xplr)
@ -757,6 +758,13 @@
# Custom icon.
# typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐'
####################[ vifm: vifm shell (https://github.com/vifm/vifm) ]#####################
# Vifm shell color.
typeset -g POWERLEVEL9K_VIFM_FOREGROUND=3
typeset -g POWERLEVEL9K_VIFM_BACKGROUND=0
# Custom icon.
# typeset -g POWERLEVEL9K_VIFM_VISUAL_IDENTIFIER_EXPANSION='⭐'
######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]#######################
# Nnn shell color.
typeset -g POWERLEVEL9K_NNN_FOREGROUND=0
@ -1203,7 +1211,7 @@
# - P9K_PACKAGE_NAME The value of `name` field in package.json.
# - P9K_PACKAGE_VERSION The value of `version` field in package.json.
#
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}'
# typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${(V)P9K_PACKAGE_NAME//\%/%%}@${(V)P9K_PACKAGE_VERSION//\%/%%}'
# Custom icon.
# typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐'

View File

@ -94,7 +94,9 @@
setopt no_unset extended_glob pipe_fail prompt_percent typeset_silent \
no_prompt_subst no_prompt_bang pushd_silent warn_create_global
if [[ $ZSH_VERSION != (5.<1->*|<6->.*) || $ZSH_VERSION == 5.4(|.*) ]]; then
autoload -Uz is-at-least
if ! is-at-least 5.1 || [[ $ZSH_VERSION == 5.4.* ]]; then
print -ru2 -- "[error] unsupported zsh version: $ZSH_VERSION"
return 1
fi

View File

@ -27,6 +27,7 @@
#include <type_traits>
#include <vector>
#include "check.h"
#include "string_view.h"
namespace gitstatus {
@ -94,6 +95,7 @@ class Arena {
template <class T>
inline T* Allocate(size_t n) {
static_assert(!std::is_reference<T>(), "");
CHECK(n <= SIZE_MAX / sizeof(T)) << n;
return static_cast<T*>(Allocate(n * sizeof(T), alignof(T)));
}

View File

@ -141,6 +141,7 @@ function _p9k_init_icons() {
LARAVEL_ICON ''
RANGER_ICON '\u2B50' # ⭐
YAZI_ICON '\u2B50' # ⭐
VIFM_ICON '\u2B50' # ⭐
MIDNIGHT_COMMANDER_ICON 'mc'
VIM_ICON 'vim'
TERRAFORM_ICON 'tf'
@ -296,6 +297,7 @@ function _p9k_init_icons() {
LARAVEL_ICON ''
RANGER_ICON '\u2B50' # ⭐
YAZI_ICON '\u2B50' # ⭐
VIFM_ICON '\u2B50' # ⭐
MIDNIGHT_COMMANDER_ICON 'mc'
VIM_ICON 'vim'
TERRAFORM_ICON 'tf'
@ -454,6 +456,7 @@ function _p9k_init_icons() {
LARAVEL_ICON ''
RANGER_ICON '\u2B50' # ⭐
YAZI_ICON '\u2B50' # ⭐
VIFM_ICON '\u2B50' # ⭐
MIDNIGHT_COMMANDER_ICON 'mc'
VIM_ICON 'vim'
TERRAFORM_ICON 'tf'
@ -615,6 +618,7 @@ function _p9k_init_icons() {
LARAVEL_ICON '\ue73f'$q # 
RANGER_ICON '\uF00b ' # 
YAZI_ICON '\uF00b ' # 
VIFM_ICON '\uF00b ' # 
MIDNIGHT_COMMANDER_ICON 'mc' # mc
VIM_ICON '\uE62B' # 
TERRAFORM_ICON '\uF1BB ' # 
@ -771,6 +775,7 @@ function _p9k_init_icons() {
LARAVEL_ICON '\ue73f'$q # 
RANGER_ICON '\uF00b ' # 
YAZI_ICON '\uF00b ' # 
VIFM_ICON 'vifm' # vifm
MIDNIGHT_COMMANDER_ICON 'mc'
VIM_ICON '\uE62B' # 
TERRAFORM_ICON '\uF1BB ' # 
@ -924,6 +929,7 @@ function _p9k_init_icons() {
LARAVEL_ICON ''
RANGER_ICON 'ranger'
YAZI_ICON 'yazi'
VIFM_ICON 'vifm'
MIDNIGHT_COMMANDER_ICON 'mc'
VIM_ICON 'vim'
TERRAFORM_ICON 'tf'
@ -1079,6 +1085,7 @@ function _p9k_init_icons() {
LARAVEL_ICON ''
RANGER_ICON '\u2B50' # ⭐
YAZI_ICON '\u2B50' # ⭐
VIFM_ICON '\u2B50' # ⭐
MIDNIGHT_COMMANDER_ICON 'mc'
VIM_ICON 'vim'
TERRAFORM_ICON 'tf'

View File

@ -2265,7 +2265,7 @@ prompt_package() {
P9K_PACKAGE_NAME=$_p9k__cache_val[2]
P9K_PACKAGE_VERSION=$_p9k__cache_val[3]
_p9k_prompt_segment "$0" "cyan" "$_p9k_color1" PACKAGE_ICON 0 '' ${P9K_PACKAGE_VERSION//\%/%%}
_p9k_prompt_segment "$0" "cyan" "$_p9k_color1" PACKAGE_ICON 0 '' ${(V)P9K_PACKAGE_VERSION//\%/%%}
}
################################################################
@ -4983,6 +4983,18 @@ function instant_prompt_yazi() {
_p9k_prompt_segment prompt_yazi $_p9k_color1 yellow YAZI_ICON 1 '$YAZI_LEVEL' '$YAZI_LEVEL'
}
function prompt_vifm() {
_p9k_prompt_segment $0 $_p9k_color1 yellow VIFM_ICON 0 '' $VIFM_LEVEL
}
_p9k_prompt_vifm_init() {
typeset -g "_p9k__segment_cond_${_p9k__prompt_side}[_p9k__segment_index]"='$VIFM_LEVEL'
}
function instant_prompt_vifm() {
_p9k_prompt_segment prompt_vifm $_p9k_color1 yellow VIFM_ICON 1 '$VIFM_LEVEL' '$VIFM_LEVEL'
}
function prompt_midnight_commander() {
local -i len=$#_p9k__prompt _p9k__has_upglob
_p9k_prompt_segment $0 $_p9k_color1 yellow MIDNIGHT_COMMANDER_ICON 0 '' ''
@ -9527,7 +9539,7 @@ if [[ $__p9k_dump_file != $__p9k_instant_prompt_dump_file && -n $__p9k_instant_p
zf_rm -f -- $__p9k_instant_prompt_dump_file{,.zwc} 2>/dev/null
fi
typeset -g P9K_VERSION=1.20.17
typeset -g P9K_VERSION=1.20.18
if [[ ${VSCODE_SHELL_INTEGRATION-} == <1-> && ${+__p9k_force_term_shell_integration} == 0 ]]; then
typeset -gri __p9k_force_term_shell_integration=1

View File

@ -1750,6 +1750,8 @@ function generate_config() {
sub RANGER_VISUAL_IDENTIFIER_EXPANSION "'▲'"
uncomment 'typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION'
sub YAZI_VISUAL_IDENTIFIER_EXPANSION "'▲'"
uncomment 'typeset -g POWERLEVEL9K_VIFM_VISUAL_IDENTIFIER_EXPANSION'
sub VIFM_VISUAL_IDENTIFIER_EXPANSION "'▲'"
uncomment 'typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION'
sub KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION "'○'"
uncomment 'typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION'