X-Git-Url: https://git.armaanb.net/?p=admone.git;a=blobdiff_plain;f=admone.zsh;h=6569ffc8363a48638118397708bdfa7cf4c96114;hp=555159a3a8ed8f96706d225ec52d4516167d0e57;hb=fcf03a1295b9efbfcec29f5d48d5a85799624455;hpb=e1d9f4e333b03340b4b54a4860c95dfacb679acb diff --git a/admone.zsh b/admone.zsh index 555159a..6569ffc 100644 --- a/admone.zsh +++ b/admone.zsh @@ -1,8 +1,7 @@ ####################################################################### -# Admone ZSH prompt. Copyright Armaan Bhojwani, palb91, romkatv. # -# MIT licensed, see the LICENSE file or # -# https://www.opensource.org/licenses/MIT for more information. # -# Git repo at https://codeberg.org/armaan/admone # +# Admone ZSH prompt. Copyright Armaan Bhojwani. MIT licensed, see the # +# LICENSE file or https://www.opensource.org/licenses/MIT for more # +# information. Git repo at https://codeberg.org/armaan/admone # ####################################################################### # @@ -16,7 +15,8 @@ ADMONE_BLOCK_SEPARATOR="-" ADMONE_BLOCK_LEFT="[" ADMONE_BLOCK_RIGHT="]" ADMONE_VI_MODE_CURSOR="1" -ADMONE_INCLUDE="admone-pwd;admone-git;admone-exit-code;admone-12hr;admone-time" +ADMONE_INCLUDE="admone-pwd;admone-git;admone-exit-code;admone-time" +ADMONE_FORMAT_LOWER="%B%F{%(?.cyan.red)}" function admone-pwd { echo "%F{blue}%~%f%F{240}" @@ -39,7 +39,7 @@ function admone-24hr { } function admone-time { # Intergration with https://codeberg.org/armaan/zsh-command-time - echo %F{cyan}$timer_show%f + echo "%F{cyan}$timer_show%f" } ####################################################################### @@ -53,13 +53,13 @@ function zle-keymap-select zle-line-init zle-line-finish { if [[ $ADMONE_VI_MODE_CURSOR == 1 ]]; then case $KEYMAP in vicmd) + # Block print -n -- "\E]50;CursorShape=0\C-G" ;; viins|main) + # Beam print -n -- "\E]50;CursorShape=1\C-G" ;; - *) - ;; esac zle reset-prompt @@ -68,16 +68,15 @@ function zle-keymap-select zle-line-init zle-line-finish { } function set-prompt() { + # Reset prompts upper="${ADMONE_PRE_UPPER}" - lower="${ADMONE_PRE_LOWER}%B%F{%(?.cyan.red)}${ADMONE_PROMPT_CHAR}%f%b " + lower="${ADMONE_PRE_LOWER}${ADMONE_FORMAT_LOWER}${ADMONE_PROMPT_CHAR}%f%b " + # Add in functions as defined above NUM_FUNCS="$(echo $ADMONE_INCLUDE | grep -o ';' | wc -l)" - REAL_NUM_FUNCS=$((NUM_FUNCS+1)) - for (( i = 0; i <= $NUM_FUNCS; i++ )); do (( val = $i + 1 )) THE_COMMAND="$(echo $ADMONE_INCLUDE | cut -d ';' -f $val)" - if [[ $val == 1 ]]; then upper+="$ADMONE_BLOCK_LEFT$($THE_COMMAND)$ADMONE_BLOCK_RIGHT" else @@ -85,10 +84,13 @@ function set-prompt() { fi done + # Add line above [[ -v PS1_NL ]] && echo || PS1_NL= + PROMPT=$upper$'\n'$lower } +# Set everything! zle -N zle-line-init zle -N zle-line-finish zle -N zle-keymap-select