Compare commits

...

6 Commits

Author SHA1 Message Date
Frank Peleato 04b8cd4a1f
Merge f076985c57 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
Frank Peleato f076985c57
refactor: use pure zsh for JSON parsing instead of awk
Replace awk-based JSON parsing with native zsh regex matching
and file reading. This removes the external command dependency
and is slightly faster.

Made-with: Cursor
2026-03-26 12:02:00 -06:00
Frank Peleato eca86908eb
feat: add salesforce_org prompt segment
Add a new user-defined prompt segment that displays the current
Salesforce CLI default target org. The segment reads target-org
from .sf/config.json, walking up from the current directory to
find the nearest Salesforce DX project root.

The segment is added to all four main config templates (rainbow,
classic, lean, lean-8colors) as a commented-out option in
RIGHT_PROMPT_ELEMENTS, along with the segment function definition
and customization parameters.

Made-with: Cursor
2026-03-26 11:52:36 -06:00
7 changed files with 151 additions and 7 deletions

View File

@ -78,6 +78,7 @@
gcloud # google cloud cli account and project (https://cloud.google.com/)
google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
toolbox # toolbox name (https://github.com/containers/toolbox)
# salesforce_org # salesforce cli default org (https://developer.salesforce.com/tools/salesforcecli)
context # user@hostname
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
ranger # ranger shell (https://github.com/ranger/ranger)
@ -1126,7 +1127,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='⭐'
@ -1667,6 +1668,40 @@
# Custom prefix.
# typeset -g POWERLEVEL9K_TIME_PREFIX='%248Fat '
##[ salesforce_org: salesforce cli default org (https://developer.salesforce.com/tools/salesforcecli) ]##
# Displays the Salesforce CLI default target org from .sf/config.json.
# Only shown when inside a Salesforce DX project directory (or subdirectory).
function prompt_salesforce_org() {
local sf_config
local dir=$PWD
while [[ $dir != / ]]; do
if [[ -f "$dir/.sf/config.json" ]]; then
sf_config="$dir/.sf/config.json"
break
fi
dir=${dir:h}
done
[[ -z $sf_config ]] && return
local content
content=$(<"$sf_config") || return
[[ $content =~ '"target-org"[[:space:]]*:[[:space:]]*"([^"]*)"' ]] || return
local org=$match[1]
[[ -z $org ]] && return
p10k segment -b 4 -f 255 -i $'\uf0c2' -t "$org"
}
function instant_prompt_salesforce_org() {
prompt_salesforce_org
}
typeset -g POWERLEVEL9K_SALESFORCE_ORG_FOREGROUND=255
typeset -g POWERLEVEL9K_SALESFORCE_ORG_BACKGROUND=4
# Show salesforce_org only when the command you are typing invokes one of these tools.
# Tip: Remove the next line to always show salesforce_org.
# typeset -g POWERLEVEL9K_SALESFORCE_ORG_SHOW_ON_COMMAND='sf|sfdx'
# Custom icon.
# typeset -g POWERLEVEL9K_SALESFORCE_ORG_VISUAL_IDENTIFIER_EXPANSION='⭐'
# Example of a user-defined prompt segment. Function prompt_example will be called on every
# prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or
# POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and orange text greeting the user.

View File

@ -78,6 +78,7 @@
gcloud # google cloud cli account and project (https://cloud.google.com/)
google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
toolbox # toolbox name (https://github.com/containers/toolbox)
# salesforce_org # salesforce cli default org (https://developer.salesforce.com/tools/salesforcecli)
context # user@hostname
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
ranger # ranger shell (https://github.com/ranger/ranger)
@ -1101,7 +1102,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='⭐'
@ -1642,6 +1643,40 @@
# Custom prefix.
# typeset -g POWERLEVEL9K_TIME_PREFIX='%fat '
##[ salesforce_org: salesforce cli default org (https://developer.salesforce.com/tools/salesforcecli) ]##
# Displays the Salesforce CLI default target org from .sf/config.json.
# Only shown when inside a Salesforce DX project directory (or subdirectory).
function prompt_salesforce_org() {
local sf_config
local dir=$PWD
while [[ $dir != / ]]; do
if [[ -f "$dir/.sf/config.json" ]]; then
sf_config="$dir/.sf/config.json"
break
fi
dir=${dir:h}
done
[[ -z $sf_config ]] && return
local content
content=$(<"$sf_config") || return
[[ $content =~ '"target-org"[[:space:]]*:[[:space:]]*"([^"]*)"' ]] || return
local org=$match[1]
[[ -z $org ]] && return
p10k segment -b 4 -f 255 -i $'\uf0c2' -t "$org"
}
function instant_prompt_salesforce_org() {
prompt_salesforce_org
}
typeset -g POWERLEVEL9K_SALESFORCE_ORG_FOREGROUND=255
typeset -g POWERLEVEL9K_SALESFORCE_ORG_BACKGROUND=4
# Show salesforce_org only when the command you are typing invokes one of these tools.
# Tip: Remove the next line to always show salesforce_org.
# typeset -g POWERLEVEL9K_SALESFORCE_ORG_SHOW_ON_COMMAND='sf|sfdx'
# Custom icon.
# typeset -g POWERLEVEL9K_SALESFORCE_ORG_VISUAL_IDENTIFIER_EXPANSION='⭐'
# Example of a user-defined prompt segment. Function prompt_example will be called on every
# prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or
# POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and green text greeting the user.

View File

@ -78,6 +78,7 @@
gcloud # google cloud cli account and project (https://cloud.google.com/)
google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
toolbox # toolbox name (https://github.com/containers/toolbox)
# salesforce_org # salesforce cli default org (https://developer.salesforce.com/tools/salesforcecli)
context # user@hostname
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
ranger # ranger shell (https://github.com/ranger/ranger)
@ -1101,7 +1102,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='⭐'
@ -1642,6 +1643,40 @@
# Custom prefix.
# typeset -g POWERLEVEL9K_TIME_PREFIX='%fat '
##[ salesforce_org: salesforce cli default org (https://developer.salesforce.com/tools/salesforcecli) ]##
# Displays the Salesforce CLI default target org from .sf/config.json.
# Only shown when inside a Salesforce DX project directory (or subdirectory).
function prompt_salesforce_org() {
local sf_config
local dir=$PWD
while [[ $dir != / ]]; do
if [[ -f "$dir/.sf/config.json" ]]; then
sf_config="$dir/.sf/config.json"
break
fi
dir=${dir:h}
done
[[ -z $sf_config ]] && return
local content
content=$(<"$sf_config") || return
[[ $content =~ '"target-org"[[:space:]]*:[[:space:]]*"([^"]*)"' ]] || return
local org=$match[1]
[[ -z $org ]] && return
p10k segment -b 4 -f 255 -i $'\uf0c2' -t "$org"
}
function instant_prompt_salesforce_org() {
prompt_salesforce_org
}
typeset -g POWERLEVEL9K_SALESFORCE_ORG_FOREGROUND=255
typeset -g POWERLEVEL9K_SALESFORCE_ORG_BACKGROUND=4
# Show salesforce_org only when the command you are typing invokes one of these tools.
# Tip: Remove the next line to always show salesforce_org.
# typeset -g POWERLEVEL9K_SALESFORCE_ORG_SHOW_ON_COMMAND='sf|sfdx'
# Custom icon.
# typeset -g POWERLEVEL9K_SALESFORCE_ORG_VISUAL_IDENTIFIER_EXPANSION='⭐'
# Example of a user-defined prompt segment. Function prompt_example will be called on every
# prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or
# POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and orange text greeting the user.

View File

@ -78,6 +78,7 @@
gcloud # google cloud cli account and project (https://cloud.google.com/)
google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
toolbox # toolbox name (https://github.com/containers/toolbox)
# salesforce_org # salesforce cli default org (https://developer.salesforce.com/tools/salesforcecli)
context # user@hostname
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
ranger # ranger shell (https://github.com/ranger/ranger)
@ -1203,7 +1204,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='⭐'
@ -1760,6 +1761,40 @@
# Custom prefix.
# typeset -g POWERLEVEL9K_TIME_PREFIX='at '
##[ salesforce_org: salesforce cli default org (https://developer.salesforce.com/tools/salesforcecli) ]##
# Displays the Salesforce CLI default target org from .sf/config.json.
# Only shown when inside a Salesforce DX project directory (or subdirectory).
function prompt_salesforce_org() {
local sf_config
local dir=$PWD
while [[ $dir != / ]]; do
if [[ -f "$dir/.sf/config.json" ]]; then
sf_config="$dir/.sf/config.json"
break
fi
dir=${dir:h}
done
[[ -z $sf_config ]] && return
local content
content=$(<"$sf_config") || return
[[ $content =~ '"target-org"[[:space:]]*:[[:space:]]*"([^"]*)"' ]] || return
local org=$match[1]
[[ -z $org ]] && return
p10k segment -b 4 -f 255 -i $'\uf0c2' -t "$org"
}
function instant_prompt_salesforce_org() {
prompt_salesforce_org
}
typeset -g POWERLEVEL9K_SALESFORCE_ORG_FOREGROUND=255
typeset -g POWERLEVEL9K_SALESFORCE_ORG_BACKGROUND=4
# Show salesforce_org only when the command you are typing invokes one of these tools.
# Tip: Remove the next line to always show salesforce_org.
# typeset -g POWERLEVEL9K_SALESFORCE_ORG_SHOW_ON_COMMAND='sf|sfdx'
# Custom icon.
# typeset -g POWERLEVEL9K_SALESFORCE_ORG_VISUAL_IDENTIFIER_EXPANSION='⭐'
# Example of a user-defined prompt segment. Function prompt_example will be called on every
# prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or
# POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and yellow text on red background

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

@ -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//\%/%%}
}
################################################################
@ -9527,7 +9527,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