mirror of https://github.com/ohmyzsh/ohmyzsh.git
Compare commits
1 Commits
3669235220
...
c85c4a35ae
Author | SHA1 | Date |
---|---|---|
|
c85c4a35ae |
|
@ -30,7 +30,7 @@ dependencies:
|
||||||
plugins/wd:
|
plugins/wd:
|
||||||
repo: mfaerevaag/wd
|
repo: mfaerevaag/wd
|
||||||
branch: master
|
branch: master
|
||||||
version: tag:v0.9.3
|
version: tag:v0.9.2
|
||||||
precopy: |
|
precopy: |
|
||||||
set -e
|
set -e
|
||||||
rm -r test
|
rm -r test
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
certifi==2025.1.31
|
certifi==2024.12.14
|
||||||
charset-normalizer==3.4.1
|
charset-normalizer==3.4.1
|
||||||
idna==3.10
|
idna==3.10
|
||||||
PyYAML==6.0.2
|
PyYAML==6.0.2
|
||||||
|
|
|
@ -1,21 +1,3 @@
|
||||||
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"
|
||||||
|
|
|
@ -22,8 +22,6 @@ _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
|
||||||
|
|
|
@ -101,14 +101,8 @@ function listMavenCompletions {
|
||||||
new_file="../pom.xml"
|
new_file="../pom.xml"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
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 file doesn't exist break
|
||||||
|
file="${file:h}/${new_file}"
|
||||||
if ! [[ -e "$file" ]]; then
|
if ! [[ -e "$file" ]]; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -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 "${TF_DATA_DIR:-.terraform}" && -r "${TF_DATA_DIR:-.terraform}/environment" ]] || return
|
[[ -d .terraform && -r .terraform/environment ]] || return
|
||||||
|
|
||||||
local workspace="$(< "${TF_DATA_DIR:-.terraform}/environment")"
|
local workspace="$(< .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-]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
# @github.com/mfaerevaag/wd
|
# @github.com/mfaerevaag/wd
|
||||||
|
|
||||||
# version
|
# version
|
||||||
readonly WD_VERSION=0.9.3
|
readonly WD_VERSION=0.9.2
|
||||||
|
|
||||||
# colors
|
# colors
|
||||||
readonly WD_BLUE="\033[96m"
|
readonly WD_BLUE="\033[96m"
|
||||||
|
@ -256,47 +256,20 @@ 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
|
||||||
wd_print_msg "$WD_RED" "This functionality requires fzf. Please install fzf first."
|
echo "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 -f "$wd_remove_output"
|
rm "$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)
|
||||||
|
@ -305,26 +278,14 @@ wd_browse() {
|
||||||
}
|
}
|
||||||
|
|
||||||
wd_browse_widget() {
|
wd_browse_widget() {
|
||||||
# Ensure wd_config_file is properly set
|
if [[ -e $wd_config_file ]]; then
|
||||||
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() {
|
||||||
|
@ -617,7 +578,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 do not unset this - breaks keybind
|
unset wd_config_file
|
||||||
unset wd_quiet_mode
|
unset wd_quiet_mode
|
||||||
unset wd_print_version
|
unset wd_print_version
|
||||||
unset wd_force_mode
|
unset wd_force_mode
|
||||||
|
|
|
@ -35,74 +35,10 @@
|
||||||
CURRENT_BG='NONE'
|
CURRENT_BG='NONE'
|
||||||
|
|
||||||
case ${SOLARIZED_THEME:-dark} in
|
case ${SOLARIZED_THEME:-dark} in
|
||||||
light)
|
light) CURRENT_FG='white';;
|
||||||
CURRENT_FG='white'
|
*) CURRENT_FG='black';;
|
||||||
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
|
||||||
|
|
||||||
() {
|
() {
|
||||||
|
@ -147,36 +83,16 @@ 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 "$AGNOSTER_CONTEXT_BG" "$AGNOSTER_CONTEXT_FG" "%(!.%{%F{$AGNOSTER_STATUS_ROOT_FG}%}.)%n@%m"
|
prompt_segment black default "%(!.%{%F{yellow}%}.)%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
|
||||||
|
@ -197,12 +113,11 @@ 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 "$AGNOSTER_GIT_DIRTY_BG" "$AGNOSTER_GIT_DIRTY_FG"
|
prompt_segment yellow black
|
||||||
else
|
else
|
||||||
prompt_segment "$AGNOSTER_GIT_CLEAN_BG" "$AGNOSTER_GIT_CLEAN_FG"
|
prompt_segment green $CURRENT_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)
|
||||||
|
@ -213,7 +128,6 @@ 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>"
|
||||||
|
@ -235,7 +149,6 @@ 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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -255,12 +168,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 "$AGNOSTER_BZR_DIRTY_BG" "$AGNOSTER_BZR_DIRTY_FG" "bzr@$revision ✚"
|
prompt_segment yellow black "bzr@$revision ✚"
|
||||||
else
|
else
|
||||||
if [[ $status_all -gt 0 ]] ; then
|
if [[ $status_all -gt 0 ]] ; then
|
||||||
prompt_segment "$AGNOSTER_BZR_DIRTY_BG" "$AGNOSTER_BZR_DIRTY_FG" "bzr@$revision"
|
prompt_segment yellow black "bzr@$revision"
|
||||||
else
|
else
|
||||||
prompt_segment "$AGNOSTER_BZR_CLEAN_BG" "$AGNOSTER_BZR_CLEAN_FG" "bzr@$revision"
|
prompt_segment green black "bzr@$revision"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -273,15 +186,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 "$AGNOSTER_HG_NEWFILE_BG" "$AGNOSTER_HG_NEWFILE_FG"
|
prompt_segment red white
|
||||||
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 "$AGNOSTER_HG_CHANGED_BG" "$AGNOSTER_HG_CHANGED_FG"
|
prompt_segment yellow black
|
||||||
st='±'
|
st='±'
|
||||||
else
|
else
|
||||||
# if working copy is clean
|
# if working copy is clean
|
||||||
prompt_segment "$AGNOSTER_HG_CLEAN_BG" "$AGNOSTER_HG_CLEAN_FG"
|
prompt_segment green $CURRENT_FG
|
||||||
fi
|
fi
|
||||||
echo -n ${$(command hg prompt "☿ {rev}@{branch}"):gs/%/%%} $st
|
echo -n ${$(command hg prompt "☿ {rev}@{branch}"):gs/%/%%} $st
|
||||||
else
|
else
|
||||||
|
@ -289,13 +202,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 "$AGNOSTER_HG_NEWFILE_BG" "$AGNOSTER_HG_NEWFILE_FG"
|
prompt_segment red black
|
||||||
st='±'
|
st='±'
|
||||||
elif command hg st | command grep -q "^[MA]"; then
|
elif command hg st | command grep -q "^[MA]"; then
|
||||||
prompt_segment "$AGNOSTER_HG_CHANGED_BG" "$AGNOSTER_HG_CHANGED_FG"
|
prompt_segment yellow black
|
||||||
st='±'
|
st='±'
|
||||||
else
|
else
|
||||||
prompt_segment "$AGNOSTER_HG_CLEAN_BG" "$AGNOSTER_HG_CLEAN_FG"
|
prompt_segment green $CURRENT_FG
|
||||||
fi
|
fi
|
||||||
echo -n "☿ ${rev:gs/%/%%}@${branch:gs/%/%%}" $st
|
echo -n "☿ ${rev:gs/%/%%}@${branch:gs/%/%%}" $st
|
||||||
fi
|
fi
|
||||||
|
@ -304,18 +217,13 @@ prompt_hg() {
|
||||||
|
|
||||||
# Dir: current working directory
|
# Dir: current working directory
|
||||||
prompt_dir() {
|
prompt_dir() {
|
||||||
if [[ $AGNOSTER_GIT_INLINE == 'true' ]] && $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then
|
prompt_segment blue $CURRENT_FG '%~'
|
||||||
# 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 "$AGNOSTER_VENV_BG" "$AGNOSTER_VENV_FG" "(${VIRTUAL_ENV:t:gs/%/%%})"
|
prompt_segment blue black "(${VIRTUAL_ENV:t:gs/%/%%})"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -326,15 +234,11 @@ prompt_virtualenv() {
|
||||||
prompt_status() {
|
prompt_status() {
|
||||||
local -a symbols
|
local -a symbols
|
||||||
|
|
||||||
if [[ $AGNOSTER_STATUS_RETVAL_NUMERIC == 'true' ]]; then
|
[[ $RETVAL -ne 0 ]] && symbols+="%{%F{red}%}✘"
|
||||||
[[ $RETVAL -ne 0 ]] && symbols+="%{%F{$AGNOSTER_STATUS_RETVAL_FG}%}$RETVAL"
|
[[ $UID -eq 0 ]] && symbols+="%{%F{yellow}%}⚡"
|
||||||
else
|
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="%{%F{cyan}%}⚙"
|
||||||
[[ $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 "$AGNOSTER_STATUS_BG" "$AGNOSTER_STATUS_FG" "$symbols"
|
[[ -n "$symbols" ]] && prompt_segment black default "$symbols"
|
||||||
}
|
}
|
||||||
|
|
||||||
#AWS Profile:
|
#AWS Profile:
|
||||||
|
@ -345,8 +249,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 "$AGNOSTER_AWS_PROD_BG" "$AGNOSTER_AWS_PROD_FG" "AWS: ${AWS_PROFILE:gs/%/%%}" ;;
|
*-prod|*production*) prompt_segment red yellow "AWS: ${AWS_PROFILE:gs/%/%%}" ;;
|
||||||
*) prompt_segment "$AGNOSTER_AWS_BG" "$AGNOSTER_AWS_FG" "AWS: ${AWS_PROFILE:gs/%/%%}" ;;
|
*) prompt_segment green black "AWS: ${AWS_PROFILE:gs/%/%%}" ;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 && ${POWERLEVEL9K_INSTANT_PROMPT:-off} == off ]] \
|
|| [[ ! -t 1 ]] \
|
||||||
|| ! 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,11 +112,6 @@ 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
|
||||||
|
|
Loading…
Reference in New Issue