Compare commits

...

13 Commits

Author SHA1 Message Date
Cristian Magherusan-Stanciu 3669235220
Merge 048196a8ad into 6e7ac0544e 2025-02-20 06:15:53 +01:00
tuzi3040 6e7ac0544e
fix(agnoster): print white text over black for light theme only (#12983) 2025-02-19 12:37:18 +01:00
Adrien Plazas 92da3108b5
fix(agnoster): print white text over black (#12525) 2025-02-14 10:18:01 +01:00
Marc Cornellà 7d32e7fc3f
fix(updater): detect p10k instant prompt (#12971)
Fixes #12781
2025-02-13 12:22:23 +01:00
Stephen Gelman 0e99f402cd
feat(agnoster): add color config and add some git stuff (#12505)
Co-authored-by: Kilobyte22 <stiepen22@gmx.de>
Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
2025-02-12 20:33:35 +01:00
Dennis Dashkevich 8074eb8b46
fix(chruby): update brew sourcing for Apple Silicon (#12941)
Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
2025-02-12 20:24:56 +01:00
Carlo Sala 4d9d346718
feat(asdf): support asdf v0.16 ahead
Co-authored-by: Valgard Trontheim <github@trontheim.de>

Closes #12964
Closes #12967
2025-02-12 20:15:25 +01:00
Daniel Mensinger db32c6ccce
fix(mvn): handle directories in `<relativePath>` (#12957) 2025-02-04 13:37:02 +01:00
dependabot[bot] 2b547d113b
chore(deps): bump certifi in /.github/workflows/dependencies (#12955)
Bumps [certifi](https://github.com/certifi/python-certifi) from 2024.12.14 to 2025.1.31.
- [Commits](https://github.com/certifi/python-certifi/compare/2024.12.14...2025.01.31)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-02 13:38:22 +01:00
ohmyzsh[bot] 2343ad517d
feat(wd): update to v0.9.3 (#12954)
Co-authored-by: ohmyzsh[bot] <54982679+ohmyzsh[bot]@users.noreply.github.com>
2025-02-02 07:50:33 +01:00
soemiran 1c34b0e67d
feat(terraform): support `TF_DATA_DIR` in `tf_prompt_info` (#12949) 2025-01-30 16:14:04 +01:00
Cristian Magherusan-Stanciu 048196a8ad Remove bashcompinit calls
They are not needed, already done in lib/completion.zsh
2020-09-08 19:35:10 +02:00
Cristian Magherusan-Stanciu 2687d69c46 Add a basic plugin for pipx 2020-09-08 19:25:46 +02:00
11 changed files with 229 additions and 44 deletions

View File

@ -30,7 +30,7 @@ dependencies:
plugins/wd: plugins/wd:
repo: mfaerevaag/wd repo: mfaerevaag/wd
branch: master branch: master
version: tag:v0.9.2 version: tag:v0.9.3
precopy: | precopy: |
set -e set -e
rm -r test rm -r test

View File

@ -1,4 +1,4 @@
certifi==2024.12.14 certifi==2025.1.31
charset-normalizer==3.4.1 charset-normalizer==3.4.1
idna==3.10 idna==3.10
PyYAML==6.0.2 PyYAML==6.0.2

View File

@ -1,3 +1,21 @@
if (( $+commands[asdf] )); then
export ASDF_DATA_DIR="${ASDF_DATA_DIR:-$HOME/.asdf}"
path=("$ASDF_DATA_DIR/shims" $path)
# If the completion file doesn't exist yet, we need to autoload it and
# bind it to `asdf`. Otherwise, compinit will have already done that.
if [[ ! -f "$ZSH_CACHE_DIR/completions/_asdf" ]]; then
typeset -g -A _comps
autoload -Uz _asdf
_comps[asdf]=_asdf
fi
asdf completion zsh >| "$ZSH_CACHE_DIR/completions/_asdf" &|
return
fi
# TODO:(2025-02-12): remove deprecated asdf <0.16 code
# Find where asdf should be installed # Find where asdf should be installed
ASDF_DIR="${ASDF_DIR:-$HOME/.asdf}" ASDF_DIR="${ASDF_DIR:-$HOME/.asdf}"
ASDF_COMPLETIONS="$ASDF_DIR/completions" ASDF_COMPLETIONS="$ASDF_DIR/completions"

View File

@ -22,6 +22,8 @@ _source-from-homebrew() {
# check default brew prefix # check default brew prefix
if [[ -h /usr/local/opt/chruby ]];then if [[ -h /usr/local/opt/chruby ]];then
_brew_prefix="/usr/local/opt/chruby" _brew_prefix="/usr/local/opt/chruby"
elif [[ -h /opt/homebrew/opt/chruby ]]; then
_brew_prefix="/opt/homebrew/opt/chruby"
else else
# ok , it is not default prefix # ok , it is not default prefix
# this call to brew is expensive ( about 400 ms ), so at least let's make it only once # this call to brew is expensive ( about 400 ms ), so at least let's make it only once

View File

@ -101,8 +101,14 @@ function listMavenCompletions {
new_file="../pom.xml" new_file="../pom.xml"
fi fi
# if file doesn't exist break
file="${file:h}/${new_file}" file="${file:h}/${new_file}"
# if the file points to a directory, assume it is a pom.xml in that directory
if [[ -d "$file" ]]; then
file="${file}/pom.xml"
fi
# if file doesn't exist break
if ! [[ -e "$file" ]]; then if ! [[ -e "$file" ]]; then
break break
fi fi

13
plugins/pipx/README.md Normal file
View File

@ -0,0 +1,13 @@
# pipx
[`pipx`](https://pipxproject.github.io/pipx/) - Install and Run Python Applications in Isolated Environments
To use it, add `pipx` to the plugins array in your zshrc file:
```zsh
plugins=(... pipx)
```
## Installation
Please find detailed installation guide [`here`](https://pipxproject.github.io/pipx/installation/)

View File

@ -0,0 +1,6 @@
# check if pipx is installed
if (( ! ${+commands[pipx]} )); then
return
fi
eval "$(register-python-argcomplete pipx)"

View File

@ -2,9 +2,9 @@ function tf_prompt_info() {
# dont show 'default' workspace in home dir # dont show 'default' workspace in home dir
[[ "$PWD" != ~ ]] || return [[ "$PWD" != ~ ]] || return
# check if in terraform dir and file exists # check if in terraform dir and file exists
[[ -d .terraform && -r .terraform/environment ]] || return [[ -d "${TF_DATA_DIR:-.terraform}" && -r "${TF_DATA_DIR:-.terraform}/environment" ]] || return
local workspace="$(< .terraform/environment)" local workspace="$(< "${TF_DATA_DIR:-.terraform}/environment")"
echo "${ZSH_THEME_TF_PROMPT_PREFIX-[}${workspace:gs/%/%%}${ZSH_THEME_TF_PROMPT_SUFFIX-]}" echo "${ZSH_THEME_TF_PROMPT_PREFIX-[}${workspace:gs/%/%%}${ZSH_THEME_TF_PROMPT_SUFFIX-]}"
} }

View File

@ -8,7 +8,7 @@
# @github.com/mfaerevaag/wd # @github.com/mfaerevaag/wd
# version # version
readonly WD_VERSION=0.9.2 readonly WD_VERSION=0.9.3
# colors # colors
readonly WD_BLUE="\033[96m" readonly WD_BLUE="\033[96m"
@ -256,20 +256,47 @@ wd_remove()
} }
wd_browse() { wd_browse() {
# Check if fzf is installed
if ! command -v fzf >/dev/null; then if ! command -v fzf >/dev/null; then
echo "This functionality requires fzf. Please install fzf first." wd_print_msg "$WD_RED" "This functionality requires fzf. Please install fzf first."
return 1 return 1
fi fi
# Ensure wd_config_file is properly set
if [[ -z $wd_config_file ]]; then
wd_config_file="${WD_CONFIG:-$HOME/.warprc}"
fi
# Check if config file exists
if [[ ! -f $wd_config_file ]]; then
wd_print_msg "$WD_RED" "Config file $wd_config_file does not exist. Please create it first."
return 1
fi
# Read entries from the config file
local entries=("${(@f)$(sed "s:${HOME}:~:g" "$wd_config_file" | awk -F ':' '{print $1 " -> " $2}')}") local entries=("${(@f)$(sed "s:${HOME}:~:g" "$wd_config_file" | awk -F ':' '{print $1 " -> " $2}')}")
if [[ -z $entries ]]; then
wd_print_msg "$WD_YELLOW" "You don't have any warp points to browse"
return 1
fi
# Temp file for remove operations
local script_path="${${(%):-%x}:h}" local script_path="${${(%):-%x}:h}"
local wd_remove_output=$(mktemp "${TMPDIR:-/tmp}/wd.XXXXXXXXXX") local wd_remove_output=$(mktemp "${TMPDIR:-/tmp}/wd.XXXXXXXXXX")
# Create fzf bindings
entries=("All warp points:" "Press enter to select. Press delete to remove" "${entries[@]}") entries=("All warp points:" "Press enter to select. Press delete to remove" "${entries[@]}")
local fzf_bind="delete:execute(echo {} | awk -F ' -> ' '{print \$1}' | xargs -I {} "$script_path/wd.sh" rm {} > "$wd_remove_output")+abort" local fzf_bind="delete:execute(echo {} | awk -F ' -> ' '{print \$1}' | xargs -I {} \"$script_path/wd.sh\" rm {} > \"$wd_remove_output\")+abort"
# Run fzf
local selected_entry=$(printf '%s\n' "${entries[@]}" | fzf --height 100% --reverse --header-lines=2 --bind="$fzf_bind") local selected_entry=$(printf '%s\n' "${entries[@]}" | fzf --height 100% --reverse --header-lines=2 --bind="$fzf_bind")
# Handle selection
if [[ -e $wd_remove_output ]]; then if [[ -e $wd_remove_output ]]; then
cat "$wd_remove_output" cat "$wd_remove_output"
rm "$wd_remove_output" rm -f "$wd_remove_output"
fi fi
if [[ -n $selected_entry ]]; then if [[ -n $selected_entry ]]; then
local selected_point="${selected_entry%% ->*}" local selected_point="${selected_entry%% ->*}"
selected_point=$(echo "$selected_point" | xargs) selected_point=$(echo "$selected_point" | xargs)
@ -278,14 +305,26 @@ wd_browse() {
} }
wd_browse_widget() { wd_browse_widget() {
if [[ -e $wd_config_file ]]; then # Ensure wd_config_file is properly set
if [[ -z $wd_config_file ]]; then
wd_config_file="${WD_CONFIG:-$HOME/.warprc}"
fi
# Check if config file exists
if [[ ! -f $wd_config_file ]]; then
wd_print_msg "$WD_RED" "Config file $wd_config_file does not exist. Please create it first."
return 1
fi
# Call wd_browse to handle the selection
wd_browse wd_browse
# Restore the zsh buffer and cursor after running wd_browse
saved_buffer=$BUFFER saved_buffer=$BUFFER
saved_cursor=$CURSOR saved_cursor=$CURSOR
BUFFER= BUFFER=
zle redisplay zle redisplay
zle accept-line zle accept-line
fi
} }
wd_restore_buffer() { wd_restore_buffer() {
@ -578,7 +617,7 @@ unset wd_print_msg
unset wd_yesorno unset wd_yesorno
unset wd_print_usage unset wd_print_usage
unset wd_alt_config unset wd_alt_config
unset wd_config_file #unset wd_config_file do not unset this - breaks keybind
unset wd_quiet_mode unset wd_quiet_mode
unset wd_print_version unset wd_print_version
unset wd_force_mode unset wd_force_mode

View File

@ -35,10 +35,74 @@
CURRENT_BG='NONE' CURRENT_BG='NONE'
case ${SOLARIZED_THEME:-dark} in case ${SOLARIZED_THEME:-dark} in
light) CURRENT_FG='white';; light)
*) CURRENT_FG='black';; CURRENT_FG='white'
CURRENT_DEFAULT_FG='white'
;;
*)
CURRENT_FG='black'
CURRENT_DEFAULT_FG='default'
;;
esac esac
### Theme Configuration Initialization
#
# Override these settings in your ~/.zshrc
# Current working directory
: ${AGNOSTER_DIR_FG:=${CURRENT_FG}}
: ${AGNOSTER_DIR_BG:=blue}
# user@host
: ${AGNOSTER_CONTEXT_FG:=${CURRENT_DEFAULT_FG}}
: ${AGNOSTER_CONTEXT_BG:=black}
# Git related
: ${AGNOSTER_GIT_CLEAN_FG:=${CURRENT_FG}}
: ${AGNOSTER_GIT_CLEAN_BG:=green}
: ${AGNOSTER_GIT_DIRTY_FG:=black}
: ${AGNOSTER_GIT_DIRTY_BG:=yellow}
# Bazaar related
: ${AGNOSTER_BZR_CLEAN_FG:=${CURRENT_FG}}
: ${AGNOSTER_BZR_CLEAN_BG:=green}
: ${AGNOSTER_BZR_DIRTY_FG:=black}
: ${AGNOSTER_BZR_DIRTY_BG:=yellow}
# Mercurial related
: ${AGNOSTER_HG_NEWFILE_FG:=white}
: ${AGNOSTER_HG_NEWFILE_BG:=red}
: ${AGNOSTER_HG_CHANGED_FG:=black}
: ${AGNOSTER_HG_CHANGED_BG:=yellow}
: ${AGNOSTER_HG_CLEAN_FG:=${CURRENT_FG}}
: ${AGNOSTER_HG_CLEAN_BG:=green}
# VirtualEnv colors
: ${AGNOSTER_VENV_FG:=black}
: ${AGNOSTER_VENV_BG:=blue}
# AWS Profile colors
: ${AGNOSTER_AWS_PROD_FG:=yellow}
: ${AGNOSTER_AWS_PROD_BG:=red}
: ${AGNOSTER_AWS_FG:=black}
: ${AGNOSTER_AWS_BG:=green}
# Status symbols
: ${AGNOSTER_STATUS_RETVAL_FG:=red}
: ${AGNOSTER_STATUS_ROOT_FG:=yellow}
: ${AGNOSTER_STATUS_JOB_FG:=cyan}
: ${AGNOSTER_STATUS_FG:=${CURRENT_DEFAULT_FG}}
: ${AGNOSTER_STATUS_BG:=black}
## Non-Color settings - set to 'true' to enable
# Show the actual numeric return value rather than a cross symbol.
: ${AGNOSTER_STATUS_RETVAL_NUMERIC:=false}
# Show git working dir in the style "/git/root   master  relative/dir" instead of "/git/root/relative/dir   master"
: ${AGNOSTER_GIT_INLINE:=false}
# Show the git branch status in the prompt rather than the generic branch symbol
: ${AGNOSTER_GIT_BRANCH_STATUS:=true}
# Special Powerline characters # Special Powerline characters
() { () {
@ -83,16 +147,36 @@ prompt_end() {
CURRENT_BG='' CURRENT_BG=''
} }
git_toplevel() {
local repo_root=$(git rev-parse --show-toplevel)
if [[ $repo_root = '' ]]; then
# We are in a bare repo. Use git dir as root
repo_root=$(git rev-parse --git-dir)
if [[ $repo_root = '.' ]]; then
repo_root=$PWD
fi
fi
echo -n $repo_root
}
### Prompt components ### Prompt components
# Each component will draw itself, and hide itself if no information needs to be shown # Each component will draw itself, and hide itself if no information needs to be shown
# Context: user@hostname (who am I and where am I) # Context: user@hostname (who am I and where am I)
prompt_context() { prompt_context() {
if [[ "$USERNAME" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then if [[ "$USERNAME" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)%n@%m" prompt_segment "$AGNOSTER_CONTEXT_BG" "$AGNOSTER_CONTEXT_FG" "%(!.%{%F{$AGNOSTER_STATUS_ROOT_FG}%}.)%n@%m"
fi fi
} }
prompt_git_relative() {
local repo_root=$(git_toplevel)
local path_in_repo=$(pwd | sed "s/^$(echo "$repo_root" | sed 's:/:\\/:g;s/\$/\\$/g')//;s:^/::;s:/$::;")
if [[ $path_in_repo != '' ]]; then
prompt_segment "$AGNOSTER_DIR_BG" "$AGNOSTER_DIR_FG" "$path_in_repo"
fi;
}
# Git: branch/detached head, dirty status # Git: branch/detached head, dirty status
prompt_git() { prompt_git() {
(( $+commands[git] )) || return (( $+commands[git] )) || return
@ -113,11 +197,12 @@ prompt_git() {
ref="◈ $(command git describe --exact-match --tags HEAD 2> /dev/null)" || \ ref="◈ $(command git describe --exact-match --tags HEAD 2> /dev/null)" || \
ref="➦ $(command git rev-parse --short HEAD 2> /dev/null)" ref="➦ $(command git rev-parse --short HEAD 2> /dev/null)"
if [[ -n $dirty ]]; then if [[ -n $dirty ]]; then
prompt_segment yellow black prompt_segment "$AGNOSTER_GIT_DIRTY_BG" "$AGNOSTER_GIT_DIRTY_FG"
else else
prompt_segment green $CURRENT_FG prompt_segment "$AGNOSTER_GIT_CLEAN_BG" "$AGNOSTER_GIT_CLEAN_FG"
fi fi
if [[ $AGNOSTER_GIT_BRANCH_STATUS == 'true' ]]; then
local ahead behind local ahead behind
ahead=$(command git log --oneline @{upstream}.. 2>/dev/null) ahead=$(command git log --oneline @{upstream}.. 2>/dev/null)
behind=$(command git log --oneline ..@{upstream} 2>/dev/null) behind=$(command git log --oneline ..@{upstream} 2>/dev/null)
@ -128,6 +213,7 @@ prompt_git() {
elif [[ -n "$behind" ]]; then elif [[ -n "$behind" ]]; then
PL_BRANCH_CHAR=$'\u21b0' PL_BRANCH_CHAR=$'\u21b0'
fi fi
fi
if [[ -e "${repo_path}/BISECT_LOG" ]]; then if [[ -e "${repo_path}/BISECT_LOG" ]]; then
mode=" <B>" mode=" <B>"
@ -149,6 +235,7 @@ prompt_git() {
zstyle ':vcs_info:*' actionformats ' %u%c' zstyle ':vcs_info:*' actionformats ' %u%c'
vcs_info vcs_info
echo -n "${${ref:gs/%/%%}/refs\/heads\//$PL_BRANCH_CHAR }${vcs_info_msg_0_%% }${mode}" echo -n "${${ref:gs/%/%%}/refs\/heads\//$PL_BRANCH_CHAR }${vcs_info_msg_0_%% }${mode}"
[[ $AGNOSTER_GIT_INLINE == 'true' ]] && prompt_git_relative
fi fi
} }
@ -168,12 +255,12 @@ prompt_bzr() {
status_all=$(echo -n "$bzr_status" | head -n1 | wc -m) status_all=$(echo -n "$bzr_status" | head -n1 | wc -m)
revision=${$(command bzr log -r-1 --log-format line | cut -d: -f1):gs/%/%%} revision=${$(command bzr log -r-1 --log-format line | cut -d: -f1):gs/%/%%}
if [[ $status_mod -gt 0 ]] ; then if [[ $status_mod -gt 0 ]] ; then
prompt_segment yellow black "bzr@$revision ✚" prompt_segment "$AGNOSTER_BZR_DIRTY_BG" "$AGNOSTER_BZR_DIRTY_FG" "bzr@$revision ✚"
else else
if [[ $status_all -gt 0 ]] ; then if [[ $status_all -gt 0 ]] ; then
prompt_segment yellow black "bzr@$revision" prompt_segment "$AGNOSTER_BZR_DIRTY_BG" "$AGNOSTER_BZR_DIRTY_FG" "bzr@$revision"
else else
prompt_segment green black "bzr@$revision" prompt_segment "$AGNOSTER_BZR_CLEAN_BG" "$AGNOSTER_BZR_CLEAN_FG" "bzr@$revision"
fi fi
fi fi
fi fi
@ -186,15 +273,15 @@ prompt_hg() {
if $(command hg prompt >/dev/null 2>&1); then if $(command hg prompt >/dev/null 2>&1); then
if [[ $(command hg prompt "{status|unknown}") = "?" ]]; then if [[ $(command hg prompt "{status|unknown}") = "?" ]]; then
# if files are not added # if files are not added
prompt_segment red white prompt_segment "$AGNOSTER_HG_NEWFILE_BG" "$AGNOSTER_HG_NEWFILE_FG"
st='±' st='±'
elif [[ -n $(command hg prompt "{status|modified}") ]]; then elif [[ -n $(command hg prompt "{status|modified}") ]]; then
# if any modification # if any modification
prompt_segment yellow black prompt_segment "$AGNOSTER_HG_CHANGED_BG" "$AGNOSTER_HG_CHANGED_FG"
st='±' st='±'
else else
# if working copy is clean # if working copy is clean
prompt_segment green $CURRENT_FG prompt_segment "$AGNOSTER_HG_CLEAN_BG" "$AGNOSTER_HG_CLEAN_FG"
fi fi
echo -n ${$(command hg prompt "☿ {rev}@{branch}"):gs/%/%%} $st echo -n ${$(command hg prompt "☿ {rev}@{branch}"):gs/%/%%} $st
else else
@ -202,13 +289,13 @@ prompt_hg() {
rev=$(command hg id -n 2>/dev/null | sed 's/[^-0-9]//g') rev=$(command hg id -n 2>/dev/null | sed 's/[^-0-9]//g')
branch=$(command hg id -b 2>/dev/null) branch=$(command hg id -b 2>/dev/null)
if command hg st | command grep -q "^\?"; then if command hg st | command grep -q "^\?"; then
prompt_segment red black prompt_segment "$AGNOSTER_HG_NEWFILE_BG" "$AGNOSTER_HG_NEWFILE_FG"
st='±' st='±'
elif command hg st | command grep -q "^[MA]"; then elif command hg st | command grep -q "^[MA]"; then
prompt_segment yellow black prompt_segment "$AGNOSTER_HG_CHANGED_BG" "$AGNOSTER_HG_CHANGED_FG"
st='±' st='±'
else else
prompt_segment green $CURRENT_FG prompt_segment "$AGNOSTER_HG_CLEAN_BG" "$AGNOSTER_HG_CLEAN_FG"
fi fi
echo -n "☿ ${rev:gs/%/%%}@${branch:gs/%/%%}" $st echo -n "☿ ${rev:gs/%/%%}@${branch:gs/%/%%}" $st
fi fi
@ -217,13 +304,18 @@ prompt_hg() {
# Dir: current working directory # Dir: current working directory
prompt_dir() { prompt_dir() {
prompt_segment blue $CURRENT_FG '%~' if [[ $AGNOSTER_GIT_INLINE == 'true' ]] && $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then
# Git repo and inline path enabled, hence only show the git root
prompt_segment "$AGNOSTER_DIR_BG" "$AGNOSTER_DIR_FG" "$(git_toplevel | sed "s:^$HOME:~:")"
else
prompt_segment "$AGNOSTER_DIR_BG" "$AGNOSTER_DIR_FG" '%~'
fi
} }
# Virtualenv: current working virtualenv # Virtualenv: current working virtualenv
prompt_virtualenv() { prompt_virtualenv() {
if [[ -n "$VIRTUAL_ENV" && -n "$VIRTUAL_ENV_DISABLE_PROMPT" ]]; then if [[ -n "$VIRTUAL_ENV" && -n "$VIRTUAL_ENV_DISABLE_PROMPT" ]]; then
prompt_segment blue black "(${VIRTUAL_ENV:t:gs/%/%%})" prompt_segment "$AGNOSTER_VENV_BG" "$AGNOSTER_VENV_FG" "(${VIRTUAL_ENV:t:gs/%/%%})"
fi fi
} }
@ -234,11 +326,15 @@ prompt_virtualenv() {
prompt_status() { prompt_status() {
local -a symbols local -a symbols
[[ $RETVAL -ne 0 ]] && symbols+="%{%F{red}%}✘" if [[ $AGNOSTER_STATUS_RETVAL_NUMERIC == 'true' ]]; then
[[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡" [[ $RETVAL -ne 0 ]] && symbols+="%{%F{$AGNOSTER_STATUS_RETVAL_FG}%}$RETVAL"
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙" else
[[ $RETVAL -ne 0 ]] && symbols+="%{%F{$AGNOSTER_STATUS_RETVAL_FG}%}✘"
fi
[[ $UID -eq 0 ]] && symbols+="%{%F{$AGNOSTER_STATUS_ROOT_FG}%}⚡"
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{$AGNOSTER_STATUS_JOB_FG}%}⚙"
[[ -n "$symbols" ]] && prompt_segment black default "$symbols" [[ -n "$symbols" ]] && prompt_segment "$AGNOSTER_STATUS_BG" "$AGNOSTER_STATUS_FG" "$symbols"
} }
#AWS Profile: #AWS Profile:
@ -249,8 +345,8 @@ prompt_status() {
prompt_aws() { prompt_aws() {
[[ -z "$AWS_PROFILE" || "$SHOW_AWS_PROMPT" = false ]] && return [[ -z "$AWS_PROFILE" || "$SHOW_AWS_PROMPT" = false ]] && return
case "$AWS_PROFILE" in case "$AWS_PROFILE" in
*-prod|*production*) prompt_segment red yellow "AWS: ${AWS_PROFILE:gs/%/%%}" ;; *-prod|*production*) prompt_segment "$AGNOSTER_AWS_PROD_BG" "$AGNOSTER_AWS_PROD_FG" "AWS: ${AWS_PROFILE:gs/%/%%}" ;;
*) prompt_segment green black "AWS: ${AWS_PROFILE:gs/%/%%}" ;; *) prompt_segment "$AGNOSTER_AWS_BG" "$AGNOSTER_AWS_FG" "AWS: ${AWS_PROFILE:gs/%/%%}" ;;
esac esac
} }

View File

@ -27,7 +27,7 @@ zstyle -s ':omz:update' mode update_mode || {
# - $ZSH is not a git repository # - $ZSH is not a git repository
if [[ "$update_mode" = disabled ]] \ if [[ "$update_mode" = disabled ]] \
|| [[ ! -w "$ZSH" || ! -O "$ZSH" ]] \ || [[ ! -w "$ZSH" || ! -O "$ZSH" ]] \
|| [[ ! -t 1 ]] \ || [[ ! -t 1 && ${POWERLEVEL9K_INSTANT_PROMPT:-off} == off ]] \
|| ! command git --version 2>&1 >/dev/null \ || ! command git --version 2>&1 >/dev/null \
|| (builtin cd -q "$ZSH"; ! command git rev-parse --is-inside-work-tree &>/dev/null); then || (builtin cd -q "$ZSH"; ! command git rev-parse --is-inside-work-tree &>/dev/null); then
unset update_mode unset update_mode
@ -112,6 +112,11 @@ function update_ohmyzsh() {
local verbose_mode local verbose_mode
zstyle -s ':omz:update' verbose verbose_mode || verbose_mode=default zstyle -s ':omz:update' verbose verbose_mode || verbose_mode=default
# Force verbose mode to silent if p10k instant prompt is enabled
if [[ ${POWERLEVEL9K_INSTANT_PROMPT:-off} != "off" ]]; then
verbose_mode=silent
fi
if [[ "$update_mode" != background-alpha ]] \ if [[ "$update_mode" != background-alpha ]] \
&& LANG= ZSH="$ZSH" zsh -f "$ZSH/tools/upgrade.sh" -i -v $verbose_mode; then && LANG= ZSH="$ZSH" zsh -f "$ZSH/tools/upgrade.sh" -i -v $verbose_mode; then
update_last_updated_file update_last_updated_file