mirror of https://github.com/akelge/zsh
Merge branch 'dev'
This commit is contained in:
commit
dc8cadae4d
|
@ -48,7 +48,7 @@ prompt_pure_check_cmd_exec_time() {
|
||||||
integer elapsed
|
integer elapsed
|
||||||
(( elapsed = EPOCHSECONDS - ${prompt_pure_cmd_timestamp:-$EPOCHSECONDS} ))
|
(( elapsed = EPOCHSECONDS - ${prompt_pure_cmd_timestamp:-$EPOCHSECONDS} ))
|
||||||
typeset -g prompt_pure_cmd_exec_time=
|
typeset -g prompt_pure_cmd_exec_time=
|
||||||
(( elapsed > ${PURE_CMD_MAX_EXEC_TIME:-5} )) && {
|
(( elapsed > ${PURE_CMD_MAX_EXEC_TIME:-20} )) && {
|
||||||
prompt_pure_human_time_to_var $elapsed "prompt_pure_cmd_exec_time"
|
prompt_pure_human_time_to_var $elapsed "prompt_pure_cmd_exec_time"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -132,7 +132,7 @@ prompt_pure_set_aws() {
|
||||||
if [[ "$AWS_PROFILE" == "$_aws_prod_profile" ]]; then
|
if [[ "$AWS_PROFILE" == "$_aws_prod_profile" ]]; then
|
||||||
prompt_pure_aws_prod=1
|
prompt_pure_aws_prod=1
|
||||||
fi
|
fi
|
||||||
prompt_pure_aws="$AWS_PROFILE>"
|
prompt_pure_aws="/$AWS_PROFILE/"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,6 +147,11 @@ prompt_pure_preprompt_render() {
|
||||||
# Initialize the preprompt array.
|
# Initialize the preprompt array.
|
||||||
local -a preprompt_parts
|
local -a preprompt_parts
|
||||||
|
|
||||||
|
[[ $UID -eq 0 ]] && preprompt_parts+='%F{$prompt_pure_colors[user:root]}'"⚡"
|
||||||
|
|
||||||
|
[[ -n $prompt_pure_state[username] ]] && preprompt_parts+='%F{$prompt_pure_colors[host]}'"|%m|"
|
||||||
|
# [[ ! -z $SSH_CONNECTION ]] && preprompt_parts+='%F{$prompt_pure_colors[host]}'"@%m"
|
||||||
|
|
||||||
prompt_pure_set_aws
|
prompt_pure_set_aws
|
||||||
if [[ ! -z $prompt_pure_aws ]]; then
|
if [[ ! -z $prompt_pure_aws ]]; then
|
||||||
if [[ $prompt_pure_aws_prod -eq 1 ]];then
|
if [[ $prompt_pure_aws_prod -eq 1 ]];then
|
||||||
|
@ -173,8 +178,8 @@ prompt_pure_preprompt_render() {
|
||||||
preprompt_parts+=('%F{$prompt_pure_colors[git:arrow]}${prompt_pure_git_arrows}%f')
|
preprompt_parts+=('%F{$prompt_pure_colors[git:arrow]}${prompt_pure_git_arrows}%f')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Username and machine, if applicable.
|
# # Username and machine, if applicable.
|
||||||
[[ -n $prompt_pure_state[username] ]] && preprompt_parts+=($prompt_pure_state[username])
|
# [[ -n $prompt_pure_state[username] ]] && preprompt_parts+=($prompt_pure_state[username])
|
||||||
# Execution time.
|
# Execution time.
|
||||||
[[ -n $prompt_pure_cmd_exec_time ]] && preprompt_parts+=('%F{$prompt_pure_colors[execution_time]}${prompt_pure_cmd_exec_time}%f')
|
[[ -n $prompt_pure_cmd_exec_time ]] && preprompt_parts+=('%F{$prompt_pure_colors[execution_time]}${prompt_pure_cmd_exec_time}%f')
|
||||||
|
|
||||||
|
@ -622,6 +627,7 @@ prompt_pure_state_setup() {
|
||||||
# Check SSH_CONNECTION and the current state.
|
# Check SSH_CONNECTION and the current state.
|
||||||
local ssh_connection=${SSH_CONNECTION:-$PROMPT_PURE_SSH_CONNECTION}
|
local ssh_connection=${SSH_CONNECTION:-$PROMPT_PURE_SSH_CONNECTION}
|
||||||
local username hostname
|
local username hostname
|
||||||
|
|
||||||
if [[ -z $ssh_connection ]] && (( $+commands[who] )); then
|
if [[ -z $ssh_connection ]] && (( $+commands[who] )); then
|
||||||
# When changing user on a remote system, the $SSH_CONNECTION
|
# When changing user on a remote system, the $SSH_CONNECTION
|
||||||
# environment variable can be lost. Attempt detection via `who`.
|
# environment variable can be lost. Attempt detection via `who`.
|
||||||
|
@ -658,8 +664,8 @@ prompt_pure_state_setup() {
|
||||||
# Show `username@host` if logged in through SSH.
|
# Show `username@host` if logged in through SSH.
|
||||||
[[ -n $ssh_connection ]] && username='%F{$prompt_pure_colors[user]}%n%f'"$hostname"
|
[[ -n $ssh_connection ]] && username='%F{$prompt_pure_colors[user]}%n%f'"$hostname"
|
||||||
|
|
||||||
# Show `username@host` if root, with username in default color.
|
# # Show `username@host` if root, with username in default color.
|
||||||
[[ $UID -eq 0 ]] && username='%F{$prompt_pure_colors[user:root]}%n%f'"$hostname"
|
# [[ $UID -eq 0 ]] && username='%F{$prompt_pure_colors[user:root]}%n%f'"$hostname"
|
||||||
|
|
||||||
typeset -gA prompt_pure_state
|
typeset -gA prompt_pure_state
|
||||||
prompt_pure_state[version]="1.11.0"
|
prompt_pure_state[version]="1.11.0"
|
||||||
|
@ -669,53 +675,6 @@ prompt_pure_state_setup() {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
prompt_pure_system_report() {
|
|
||||||
setopt localoptions noshwordsplit
|
|
||||||
|
|
||||||
print - "- Zsh: $($SHELL --version) ($SHELL)"
|
|
||||||
print -n - "- Operating system: "
|
|
||||||
case "$(uname -s)" in
|
|
||||||
Darwin) print "$(sw_vers -productName) $(sw_vers -productVersion) ($(sw_vers -buildVersion))";;
|
|
||||||
*) print "$(uname -s) ($(uname -v))";;
|
|
||||||
esac
|
|
||||||
print - "- Terminal program: ${TERM_PROGRAM:-unknown} (${TERM_PROGRAM_VERSION:-unknown})"
|
|
||||||
print -n - "- Tmux: "
|
|
||||||
[[ -n $TMUX ]] && print "yes" || print "no"
|
|
||||||
|
|
||||||
local git_version
|
|
||||||
git_version=($(git --version)) # Remove newlines, if hub is present.
|
|
||||||
print - "- Git: $git_version"
|
|
||||||
|
|
||||||
print - "- Pure state:"
|
|
||||||
for k v in "${(@kv)prompt_pure_state}"; do
|
|
||||||
print - " - $k: \`${(q)v}\`"
|
|
||||||
done
|
|
||||||
print - "- PROMPT: \`$(typeset -p PROMPT)\`"
|
|
||||||
print - "- Colors: \`$(typeset -p prompt_pure_colors)\`"
|
|
||||||
print - "- Virtualenv: \`$(typeset -p VIRTUAL_ENV_DISABLE_PROMPT)\`"
|
|
||||||
print - "- Conda: \`$(typeset -p CONDA_CHANGEPS1)\`"
|
|
||||||
|
|
||||||
local ohmyzsh=0
|
|
||||||
typeset -la frameworks
|
|
||||||
(( $+ANTIBODY_HOME )) && frameworks+=("Antibody")
|
|
||||||
(( $+ADOTDIR )) && frameworks+=("Antigen")
|
|
||||||
(( $+ANTIGEN_HS_HOME )) && frameworks+=("Antigen-hs")
|
|
||||||
(( $+functions[upgrade_oh_my_zsh] )) && {
|
|
||||||
ohmyzsh=1
|
|
||||||
frameworks+=("Oh My Zsh")
|
|
||||||
}
|
|
||||||
(( $+ZPREZTODIR )) && frameworks+=("Prezto")
|
|
||||||
(( $+ZPLUG_ROOT )) && frameworks+=("Zplug")
|
|
||||||
(( $+ZPLGM )) && frameworks+=("Zplugin")
|
|
||||||
|
|
||||||
(( $#frameworks == 0 )) && frameworks+=("None")
|
|
||||||
print - "- Detected frameworks: ${(j:, :)frameworks}"
|
|
||||||
|
|
||||||
if (( ohmyzsh )); then
|
|
||||||
print - " - Oh My Zsh:"
|
|
||||||
print - " - Plugins: ${(j:, :)plugins}"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
prompt_pure_setup() {
|
prompt_pure_setup() {
|
||||||
# Prevent percentage showing up if output doesn't end with a newline.
|
# Prevent percentage showing up if output doesn't end with a newline.
|
||||||
|
@ -750,22 +709,22 @@ prompt_pure_setup() {
|
||||||
prompt_pure_colors_default=(
|
prompt_pure_colors_default=(
|
||||||
execution_time yellow
|
execution_time yellow
|
||||||
git:arrow cyan
|
git:arrow cyan
|
||||||
git:branch 242
|
git:branch 246
|
||||||
git:branch:cached red
|
git:branch:cached red
|
||||||
git:action 242
|
git:action 242
|
||||||
git:dirty 218
|
git:dirty red
|
||||||
host 242
|
host 015
|
||||||
path blue
|
path blue
|
||||||
prompt:error red
|
prompt:error red
|
||||||
prompt:success magenta
|
prompt:success magenta
|
||||||
prompt:continuation 242
|
prompt:continuation 242
|
||||||
user 242
|
user 242
|
||||||
user:root default
|
user:root 190
|
||||||
virtualenv 242
|
virtualenv 242
|
||||||
aws yellow
|
aws green
|
||||||
aws:prod red
|
aws:prod red
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
prompt_pure_colors=("${(@kv)prompt_pure_colors_default}")
|
prompt_pure_colors=("${(@kv)prompt_pure_colors_default}")
|
||||||
|
|
||||||
add-zsh-hook precmd prompt_pure_precmd
|
add-zsh-hook precmd prompt_pure_precmd
|
||||||
|
@ -827,3 +786,53 @@ prompt_pure_setup() {
|
||||||
}
|
}
|
||||||
|
|
||||||
prompt_pure_setup "$@"
|
prompt_pure_setup "$@"
|
||||||
|
|
||||||
|
|
||||||
|
# Utils
|
||||||
|
prompt_pure_system_report() {
|
||||||
|
setopt localoptions noshwordsplit
|
||||||
|
|
||||||
|
print - "- Zsh: $($SHELL --version) ($SHELL)"
|
||||||
|
print -n - "- Operating system: "
|
||||||
|
case "$(uname -s)" in
|
||||||
|
Darwin) print "$(sw_vers -productName) $(sw_vers -productVersion) ($(sw_vers -buildVersion))";;
|
||||||
|
*) print "$(uname -s) ($(uname -v))";;
|
||||||
|
esac
|
||||||
|
print - "- Terminal program: ${TERM_PROGRAM:-unknown} (${TERM_PROGRAM_VERSION:-unknown})"
|
||||||
|
print -n - "- Tmux: "
|
||||||
|
[[ -n $TMUX ]] && print "yes" || print "no"
|
||||||
|
|
||||||
|
local git_version
|
||||||
|
git_version=($(git --version)) # Remove newlines, if hub is present.
|
||||||
|
print - "- Git: $git_version"
|
||||||
|
|
||||||
|
print - "- Pure state:"
|
||||||
|
for k v in "${(@kv)prompt_pure_state}"; do
|
||||||
|
print - " - $k: \`${(q)v}\`"
|
||||||
|
done
|
||||||
|
print - "- PROMPT: \`$(typeset -p PROMPT)\`"
|
||||||
|
print - "- Colors: \`$(typeset -p prompt_pure_colors)\`"
|
||||||
|
print - "- Virtualenv: \`$(typeset -p VIRTUAL_ENV_DISABLE_PROMPT)\`"
|
||||||
|
print - "- Conda: \`$(typeset -p CONDA_CHANGEPS1)\`"
|
||||||
|
|
||||||
|
local ohmyzsh=0
|
||||||
|
typeset -la frameworks
|
||||||
|
(( $+ANTIBODY_HOME )) && frameworks+=("Antibody")
|
||||||
|
(( $+ADOTDIR )) && frameworks+=("Antigen")
|
||||||
|
(( $+ANTIGEN_HS_HOME )) && frameworks+=("Antigen-hs")
|
||||||
|
(( $+functions[upgrade_oh_my_zsh] )) && {
|
||||||
|
ohmyzsh=1
|
||||||
|
frameworks+=("Oh My Zsh")
|
||||||
|
}
|
||||||
|
(( $+ZPREZTODIR )) && frameworks+=("Prezto")
|
||||||
|
(( $+ZPLUG_ROOT )) && frameworks+=("Zplug")
|
||||||
|
(( $+ZPLGM )) && frameworks+=("Zplugin")
|
||||||
|
|
||||||
|
(( $#frameworks == 0 )) && frameworks+=("None")
|
||||||
|
print - "- Detected frameworks: ${(j:, :)frameworks}"
|
||||||
|
|
||||||
|
if (( ohmyzsh )); then
|
||||||
|
print - " - Oh My Zsh:"
|
||||||
|
print - " - Plugins: ${(j:, :)plugins}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue