BLOCK_RIGHT="]"
# BLOCK_LEFT="("
# BLOCK_RIGHT=")"
-SHOW_0_EXIT_CODE="0"
+SHOW_0_EXIT_CODE="1"
INCLUDE="admone-pwd;admone-vcs;admone-exit-code"
FORMAT_LOWER="%B%F{%(?.cyan.red)}"
-TRANSIENT_PROMPT="0" # This is buggy
SHORT_PROMPT="➤"
FORMAT_SHORT="%B%F{%(?.cyan.red)}"
+TWO_LINE="0"
zstyle ':vcs_info:git:*' formats '%b%u%c'
zstyle ':vcs_info:git:*' actionformats '%b|%a%u%c'
zle -R
}
-set-prompt() {
+set-twoline-prompt() {
# Reset prompts
upper="${PRE_UPPER}"
lower="${PRE_LOWER}${FORMAT_LOWER}${PROMPT_CHAR}%f%b "
# Add in functions as defined above
- NUM_FUNCS="$(echo $INCLUDE | grep -o ';' | wc -l)"
-
- THE_COMMAND="$(echo $INCLUDE | cut -d ';' -f 1)"
- upper+="$BLOCK_LEFT$($THE_COMMAND)$BLOCK_RIGHT"
+ upper+="${BLOCK_LEFT}$($THE_COMMAND)${BLOCK_RIGHT}"
for (( i = 0; i < $NUM_FUNCS; i++ )); do
THE_COMMAND="$(echo $INCLUDE | cut -d ';' -f $(($i + 2)))"
- upper+="$BLOCK_SEPARATOR$BLOCK_LEFT$($THE_COMMAND)$BLOCK_RIGHT"
+ upper+="${BLOCK_SEPARATOR}${BLOCK_LEFT}$(${THE_COMMAND})${BLOCK_RIGHT}"
done
# Add line above
- [[ -v PS1_NL ]] && echo || PS1_NL=
-
- PROMPT=$upper$'\n'$lower
+ PROMPT=${upper}$'\n'${lower}
}
+set-oneline-prompt() {
+ PROMPT="${FORMAT_LOWER}${PROMPT_CHAR}%f%b "
+ RPROMPT=""
-# Set everything!
-if [[ $TRANSIENT_PROMPT == "1" ]]; then
- SHORT_PROMPT=$FORMAT_SHORT$SHORT_PROMPT' '%f%b
+ for (( i = 0; i <= $NUM_FUNCS; i++ )); do
+ THE_COMMAND="$(echo $INCLUDE | cut -d ';' -f $(($i + 1)))"
+ RPROMPT+="${BLOCK_LEFT}$($THE_COMMAND)${BLOCK_RIGHT}"
+ done
+}
- set-transient-prompt() {
- if [[ $PROMPT != $SHORT_PROMPT ]]; then
- PROMPT=$SHORT_PROMPT
- zle .reset-prompt
- fi
- }
+# Set everything!
+set-prompt() {
+ NUM_FUNCS="$(echo $INCLUDE | grep -o ';' | wc -l)"
+ THE_COMMAND="$(echo $INCLUDE | cut -d ';' -f 1)"
- zle-line-finish() {
- set-transient-prompt
- }
+ if [[ $TWO_LINE == "1" ]]; then
+ set-twoline-prompt
+ else
+ set-oneline-prompt
+ fi
- trap 'set-transient-prompt; return 130' INT
-fi
+ [[ -v PS1_NL ]] && echo || PS1_NL=
+}
if [[ ! $(echo $INCLUDE | grep -q "vcs") ]]; then
zstyle ':vcs_info:*' check-for-changes true