X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=admone.zsh;h=e1fbc64b7cffc58c8297b0e9d0f09875969f090c;hb=42108cdd850bcdd402fbf8d5f3c48ee34153d45a;hp=9e32ac802bf5d1689a5c5805c4f6b68c0eb2ff08;hpb=a49ca0e8dd33182fdd57a8aa05d1dea6ab003329;p=admone.git diff --git a/admone.zsh b/admone.zsh index 9e32ac8..e1fbc64 100644 --- a/admone.zsh +++ b/admone.zsh @@ -15,7 +15,7 @@ ADMONE_PRE_LOWER="╰ " ADMONE_BLOCK_SEPARATOR="-" ADMONE_BLOCK_LEFT="[" ADMONE_BLOCK_RIGHT="]" -ADMONE_INCLUDE="admone-pwd;admone-git;admone-exit-code" +ADMONE_INCLUDE="admone-pwd;admone-git;admone-exit-code;admone-12hr" function admone-pwd { echo "%F{blue}%~%f%F{240}" @@ -28,6 +28,15 @@ function admone-exit-code { echo "%(?,,%F{1}%?%F{240})" } +function admone-date { + echo $(date -I) +} +function admone-12hr { + echo $(date +%r) +} +function admone-24hr { + echo $(date +%x) +} ####################################################################### # @@ -39,10 +48,10 @@ function zle-keymap-select zle-line-init zle-line-finish { case $KEYMAP in vicmd) print -n -- "\E]50;CursorShape=0\C-G" - ;; # block cursor + ;; viins|main) print -n -- "\E]50;CursorShape=1\C-G" - ;; # line cursor + ;; *) ;; esac @@ -55,17 +64,21 @@ function set-prompt() { upper="%B${ADMONE_PRE_UPPER}" lower="%B${ADMONE_PRE_LOWER}%B%F{%(?.cyan.red)}${ADMONE_PROMPT_CHAR}%f%b " - for (( i = 0; i <= $(echo $ADMONE_INCLUDE | grep -o ';' | wc -l); i++ )); do + 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%2)) == 0 ]]; then - upper+="$ADMONE_BLOCK_SEPARATOR$ADMONE_BLOCK_LEFT$($THE_COMMAND)$ADMONE_BLOCK_RIGHT$ADMONE_BLOCK_SEPARATOR" - else - upper+="$ADMONE_BLOCK_LEFT$($THE_COMMAND)$ADMONE_BLOCK_RIGHT" - fi + if [[ $val == 1 ]]; then + upper+="$ADMONE_BLOCK_LEFT$($THE_COMMAND)$ADMONE_BLOCK_RIGHT" + else + upper+="$ADMONE_BLOCK_SEPARATOR$ADMONE_BLOCK_LEFT$($THE_COMMAND)$ADMONE_BLOCK_RIGHT" + fi done + [[ -v PS1_NL ]] && echo || PS1_NL= PROMPT=$upper$'\n'$lower }