aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Beltran <ben@nsovocal.com>2020-02-20 23:55:47 +0100
committerBen Beltran <ben@nsovocal.com>2020-02-20 23:55:47 +0100
commitec48932ff896ba580d9d9039d990a7cbd05eb549 (patch)
treeecf4d077c84d6c18c9252e237d75582d2a51559d
parent8c7cbd3278fa27041ac5285bae1bfb45cee10046 (diff)
Deal with double width chars
-rw-r--r--zsh/modules/prompt.zsh31
1 files changed, 23 insertions, 8 deletions
diff --git a/zsh/modules/prompt.zsh b/zsh/modules/prompt.zsh
index f0a776d..b21a41f 100644
--- a/zsh/modules/prompt.zsh
+++ b/zsh/modules/prompt.zsh
@@ -22,7 +22,7 @@ function virtualenv_info {
else
venv="${VIRTUAL_ENV##*/}"
fi
- echo "🐍${venv}"
+ echo "🐍 ${venv}"
}
function rvm_info {
@@ -31,7 +31,7 @@ function rvm_info {
else
rvminfo=`rvm-prompt`
fi
- echo "💎${rvminfo}"
+ echo "💎 ${rvminfo}"
}
function nvm_info {
@@ -40,7 +40,7 @@ function nvm_info {
else
nvminfo=`nvm current`
fi
- echo "💛${nvminfo}"
+ echo "💛 ${nvminfo}"
}
function box_name {
@@ -52,15 +52,28 @@ function box_name {
#
function zle-line-init zle-keymap-select {
- local return_status="%{%F{red}%}%(?..🆇)%{$reset_color%}"
+
+ # Couldn't figure out how to get tmux and iTerm to agree on how to render
+ # these characters... so there you go.
+
+ local normal_symbol="🅽"
+ local insert_symbol="🅸"
+ local error_symbol="🆇"
+
+ [ ! -z "$TMUX" ] && normal_symbol="%{$normal_symbol%2G%}"
+ [ ! -z "$TMUX" ] && insert_symbol="%{$insert_symbol%2G%}"
+ [ ! -z "$TMUX" ] && error_symbol="%{$error_symbol%2G%}"
+
+ # Show vi status / return status on the right side
+
+ local return_status="%{%F{red}%}%(?.. $error_symbol)%{$reset_color%}"
if [ $KEYMAP = 'vicmd' ]; then
- local edit_status="%{%F{cyan}%}🅽"
+ local edit_status="%{%F{cyan}%}$normal_symbol"
else
- local edit_status="%{%F{green}%}🅸"
+ local edit_status="%{%F{green}%}$insert_symbol"
fi
- RPS1="${edit_status} ${return_status} %{$reset_color%}"
- RPS2=$RPS1
+ RPROMPT="${edit_status}${return_status}%{$reset_color%}"
zle reset-prompt
}
zle -N zle-line-init
@@ -100,3 +113,5 @@ function prompt_setup {
prompt_setup "$@"
setopt PROMPT_SUBST
+setopt PROMPT_PERCENT
+setopt TRANSIENT_RPROMPT