From fcf03a1295b9efbfcec29f5d48d5a85799624455 Mon Sep 17 00:00:00 2001 From: Armaan Bhojwani <3fb650a9-b47e-4604-a282-1dd91953b2ee@anonaddy.me> Date: Thu, 29 Oct 2020 15:13:29 -0400 Subject: [PATCH] polished! --- README.md | 2 +- admone.zsh | 26 ++++++++++++++------------ 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 4514f6e..ef9c66d 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,6 @@ admonish, remind, prompt; suggest, advise, raise; persuade, urge; warn, caution ``` ## License -Admone is MIT licensed +Admone is MIT licensed by Armaan Bhojwani The code is inspired by [palb91's prompt](https://github.com/palb91/dotfiles/blob/master/zsh/conf.d/00_prompt.zsh) and [this gist by romkatv](https://gist.github.com/romkatv/2a107ef9314f0d5f76563725b42f7cab) 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 -- 2.39.2