shellcheck agnoster theme

pull/1697/head
Noah Gorny 2020-10-31 22:14:45 +02:00 committed by Noah Gorny
parent 60da498ed4
commit f255d03057
1 changed files with 40 additions and 40 deletions

View File

@ -71,7 +71,7 @@ PROMPT_DIRTRIM=2 # bash4 and above
DEBUG=0 DEBUG=0
debug() { debug() {
if [[ ${DEBUG} -ne 0 ]]; then if [[ ${DEBUG} -ne 0 ]]; then
echo >&2 -e $* echo >&2 -e "$@"
fi fi
} }
@ -132,7 +132,7 @@ ansi() {
local seq local seq
declare -a mycodes=("${!1}") declare -a mycodes=("${!1}")
debug "ansi: ${!1} all: $* aka ${mycodes[@]}" debug "ansi: ${!1} all: $* aka " "${mycodes[@]}"
seq="" seq=""
for ((i = 0; i < ${#mycodes[@]}; i++)); do for ((i = 0; i < ${#mycodes[@]}; i++)); do
@ -141,13 +141,13 @@ ansi() {
fi fi
seq="${seq}${mycodes[$i]}" seq="${seq}${mycodes[$i]}"
done done
debug "ansi debug:" '\\[\\033['${seq}'m\\]' debug "ansi debug:" '\\[\\033['"${seq}"'m\\]'
echo -ne '\[\033['${seq}'m\]' echo -ne '\[\033['"${seq}"'m\]'
# PR="$PR\[\033[${seq}m\]" # PR="$PR\[\033[${seq}m\]"
} }
ansi_single() { ansi_single() {
echo -ne '\[\033['$1'm\]' echo -ne '\[\033['"$1"'m\]'
} }
# Begin a segment # Begin a segment
@ -164,30 +164,30 @@ prompt_segment() {
# prompt_status - Erik 1/14/17 # prompt_status - Erik 1/14/17
# if [[ -z $1 || ( -z $2 && $2 != default ) ]]; then # if [[ -z $1 || ( -z $2 && $2 != default ) ]]; then
codes=("${codes[@]}" $(text_effect reset)) codes=("${codes[@]}" "$(text_effect reset)")
# fi # fi
if [[ -n $1 ]]; then if [[ -n $1 ]]; then
bg=$(bg_color $1) bg=$(bg_color "$1")
codes=("${codes[@]}" $bg) codes=("${codes[@]}" "$bg")
debug "Added $bg as background to codes" debug "Added $bg as background to codes"
fi fi
if [[ -n $2 ]]; then if [[ -n $2 ]]; then
fg=$(fg_color $2) fg=$(fg_color "$2")
codes=("${codes[@]}" $fg) codes=("${codes[@]}" "$fg")
debug "Added $fg as foreground to codes" debug "Added $fg as foreground to codes"
fi fi
debug "Codes: " debug "Codes: "
# declare -p codes # declare -p codes
if [[ $CURRENT_BG != NONE && $1 != $CURRENT_BG ]]; then if [[ $CURRENT_BG != NONE && $1 != "$CURRENT_BG" ]]; then
declare -a intermediate=($(fg_color $CURRENT_BG) $(bg_color $1)) declare -a intermediate=("$(fg_color $CURRENT_BG)" "$(bg_color "$1")")
debug "pre prompt " $(ansi intermediate[@]) debug "pre prompt " "$(ansi intermediate[@])"
PR="$PR $(ansi intermediate[@])$SEGMENT_SEPARATOR" PR="$PR $(ansi intermediate[@])$SEGMENT_SEPARATOR"
debug "post prompt " $(ansi codes[@]) debug "post prompt " "$(ansi codes[@])"
PR="$PR$(ansi codes[@]) " PR="$PR$(ansi codes[@]) "
else else
debug "no current BG, codes is $codes[@]" debug "no current BG, codes is " "${codes[@]}"
PR="$PR$(ansi codes[@]) " PR="$PR$(ansi codes[@]) "
fi fi
CURRENT_BG=$1 CURRENT_BG=$1
@ -197,10 +197,10 @@ prompt_segment() {
# End the prompt, closing any open segments # End the prompt, closing any open segments
prompt_end() { prompt_end() {
if [[ -n $CURRENT_BG ]]; then if [[ -n $CURRENT_BG ]]; then
declare -a codes=($(text_effect reset) $(fg_color $CURRENT_BG)) declare -a codes=("$(text_effect reset)" "$(fg_color "$CURRENT_BG")")
PR="$PR $(ansi codes[@])$SEGMENT_SEPARATOR" PR="$PR $(ansi codes[@])$SEGMENT_SEPARATOR"
fi fi
declare -a reset=($(text_effect reset)) declare -a reset=("$(text_effect reset)")
PR="$PR $(ansi reset[@])" PR="$PR $(ansi reset[@])"
CURRENT_BG='' CURRENT_BG=''
} }
@ -209,7 +209,7 @@ prompt_end() {
prompt_virtualenv() { prompt_virtualenv() {
if [[ -n $VIRTUAL_ENV ]]; then if [[ -n $VIRTUAL_ENV ]]; then
color=cyan color=cyan
prompt_segment $color $PRIMARY_FG prompt_segment $color "$PRIMARY_FG"
ve=$(basename "$VIRTUAL_ENV") ve=$(basename "$VIRTUAL_ENV")
prompt_segment $color white "$ve" prompt_segment $color white "$ve"
fi fi
@ -222,7 +222,7 @@ prompt_virtualenv() {
prompt_context() { prompt_context() {
local user=$(whoami) local user=$(whoami)
if [[ $user != $DEFAULT_USER || -n $SSH_CLIENT ]]; then if [[ $user != "$DEFAULT_USER" || -n $SSH_CLIENT ]]; then
prompt_segment black default "$user@\h" prompt_segment black default "$user@\h"
fi fi
} }
@ -241,7 +241,7 @@ git_status_dirty() {
# Git: branch/detached head, dirty status # Git: branch/detached head, dirty status
prompt_git() { prompt_git() {
local ref dirty local ref dirty
if $(git rev-parse --is-inside-work-tree > /dev/null 2>&1); then if git rev-parse --is-inside-work-tree > /dev/null 2>&1; then
ZSH_THEME_GIT_PROMPT_DIRTY='±' ZSH_THEME_GIT_PROMPT_DIRTY='±'
dirty=$(git_status_dirty) dirty=$(git_status_dirty)
ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="$(git show-ref --head -s --abbrev | head -n1 2> /dev/null)" ref=$(git symbolic-ref HEAD 2> /dev/null) || ref="$(git show-ref --head -s --abbrev | head -n1 2> /dev/null)"
@ -266,11 +266,11 @@ prompt_dir() {
prompt_status() { prompt_status() {
local symbols local symbols
symbols=() symbols=()
[[ $RETVAL -ne 0 ]] && symbols+="$(ansi_single $(fg_color red))" [[ $RETVAL -ne 0 ]] && symbols+=("$(ansi_single "$(fg_color red)")")
[[ $UID -eq 0 ]] && symbols+="$(ansi_single $(fg_color yellow))" [[ $UID -eq 0 ]] && symbols+=("$(ansi_single "$(fg_color yellow)")")
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="$(ansi_single $(fg_color cyan))" [[ $(jobs -l | wc -l) -gt 0 ]] && symbols+=("$(ansi_single "$(fg_color cyan)")")
[[ -n "$symbols" ]] && prompt_segment black default "$symbols" [[ -n "${symbols[*]}" ]] && prompt_segment black default "${symbols[@]}"
} }
###################################################################### ######################################################################
@ -285,13 +285,13 @@ rightprompt() {
# quick right prompt I grabbed to test things. # quick right prompt I grabbed to test things.
__command_rprompt() { __command_rprompt() {
local times= n=$COLUMNS tz local times=n=$COLUMNS tz
for tz in ZRH:Europe/Zurich PIT:US/Eastern \ for tz in ZRH:Europe/Zurich PIT:US/Eastern \
MTV:US/Pacific TOK:Asia/Tokyo; do MTV:US/Pacific TOK:Asia/Tokyo; do
[ $n -gt 40 ] || break [ "$n" -gt 40 ] || break
times="$times ${tz%%:*}\e[30;1m:\e[0;36;1m" times="$times ${tz%%:*}\e[30;1m:\e[0;36;1m"
times="$times$(TZ=${tz#*:} date +%H:%M)\e[0m" times="$times$(TZ=${tz#*:} date +%H:%M)\e[0m"
n=$(($n - 10)) n=$(("$n" - 10))
done done
[ -z "$times" ] || printf "%${n}s$times\\r" '' [ -z "$times" ] || printf "%${n}s$times\\r" ''
} }
@ -302,7 +302,7 @@ ansi_r() {
local seq local seq
declare -a mycodes2=("${!1}") declare -a mycodes2=("${!1}")
debug "ansi: ${!1} all: $* aka ${mycodes2[@]}" debug "ansi: ${!1} all: $* aka " "${mycodes2[@]}"
seq="" seq=""
for ((i = 0; i < ${#mycodes2[@]}; i++)); do for ((i = 0; i < ${#mycodes2[@]}; i++)); do
@ -311,8 +311,8 @@ ansi_r() {
fi fi
seq="${seq}${mycodes2[$i]}" seq="${seq}${mycodes2[$i]}"
done done
debug "ansi debug:" '\\[\\033['${seq}'m\\]' debug "ansi debug:" '\\[\\033['"${seq}"'m\\]'
echo -ne '\033['${seq}'m' echo -ne '\033['"${seq}"'m'
# PR="$PR\[\033[${seq}m\]" # PR="$PR\[\033[${seq}m\]"
} }
@ -331,16 +331,16 @@ prompt_right_segment() {
# prompt_status - Erik 1/14/17 # prompt_status - Erik 1/14/17
# if [[ -z $1 || ( -z $2 && $2 != default ) ]]; then # if [[ -z $1 || ( -z $2 && $2 != default ) ]]; then
codes=("${codes[@]}" $(text_effect reset)) codes=("${codes[@]}" "$(text_effect reset)")
# fi # fi
if [[ -n $1 ]]; then if [[ -n $1 ]]; then
bg=$(bg_color $1) bg=$(bg_color "$1")
codes=("${codes[@]}" $bg) codes=("${codes[@]}" "$bg")
debug "Added $bg as background to codes" debug "Added $bg as background to codes"
fi fi
if [[ -n $2 ]]; then if [[ -n $2 ]]; then
fg=$(fg_color $2) fg=$(fg_color "$2")
codes=("${codes[@]}" $fg) codes=("${codes[@]}" "$fg")
debug "Added $fg as foreground to codes" debug "Added $fg as foreground to codes"
fi fi
@ -351,11 +351,11 @@ prompt_right_segment() {
# if [[ $CURRENT_RBG != NONE && $1 != $CURRENT_RBG ]]; then # if [[ $CURRENT_RBG != NONE && $1 != $CURRENT_RBG ]]; then
# $CURRENT_RBG= # $CURRENT_RBG=
# fi # fi
declare -a intermediate2=($(fg_color $1) $(bg_color $CURRENT_RBG)) declare -a intermediate2=("$(fg_color "$1")" "$(bg_color $CURRENT_RBG)")
# PRIGHT="$PRIGHT---" # PRIGHT="$PRIGHT---"
debug "pre prompt " $(ansi_r intermediate2[@]) debug "pre prompt " "$(ansi_r intermediate2[@])"
PRIGHT="$PRIGHT$(ansi_r intermediate2[@])$RIGHT_SEPARATOR" PRIGHT="$PRIGHT$(ansi_r intermediate2[@])$RIGHT_SEPARATOR"
debug "post prompt " $(ansi_r codes[@]) debug "post prompt " "$(ansi_r codes[@])"
PRIGHT="$PRIGHT$(ansi_r codes[@]) " PRIGHT="$PRIGHT$(ansi_r codes[@]) "
# else # else
# debug "no current BG, codes is $codes[@]" # debug "no current BG, codes is $codes[@]"
@ -391,7 +391,7 @@ prompt_emacsdir() {
## Main prompt ## Main prompt
build_prompt() { build_prompt() {
[[ ! -z ${AG_EMACS_DIR+x} ]] && prompt_emacsdir [[ -n ${AG_EMACS_DIR+x} ]] && prompt_emacsdir
prompt_status prompt_status
#[[ -z ${AG_NO_HIST+x} ]] && prompt_histdt #[[ -z ${AG_NO_HIST+x} ]] && prompt_histdt
[[ -z ${AG_NO_CONTEXT+x} ]] && prompt_context [[ -z ${AG_NO_CONTEXT+x} ]] && prompt_context
@ -411,7 +411,7 @@ set_bash_prompt() {
PR="" PR=""
PRIGHT="" PRIGHT=""
CURRENT_BG=NONE CURRENT_BG=NONE
PR="$(ansi_single $(text_effect reset))" PR="$(ansi_single "$(text_effect reset)")"
build_prompt build_prompt
# uncomment below to use right prompt # uncomment below to use right prompt