浏览代码

fix(jonathan): fix top bar alignment with RPROMPT

Marc Cornellà 2 年之前
父节点
当前提交
41c15a2159
共有 1 个文件被更改,包括 6 次插入4 次删除
  1. 6 4
      themes/jonathan.zsh-theme

+ 6 - 4
themes/jonathan.zsh-theme

@@ -1,4 +1,6 @@
 function theme_precmd {
 function theme_precmd {
+  local TERMWIDTH=$(( COLUMNS - ${ZLE_RPROMPT_INDENT:-1} ))
+
   PR_FILLBAR=""
   PR_FILLBAR=""
   PR_PWDLEN=""
   PR_PWDLEN=""
 
 
@@ -7,12 +9,12 @@ function theme_precmd {
   local pwdsize=${#${(%):-%~}}
   local pwdsize=${#${(%):-%~}}
 
 
   # Truncate the path if it's too long.
   # Truncate the path if it's too long.
-  if (( promptsize + rubypromptsize + pwdsize > COLUMNS )); then
-    (( PR_PWDLEN = COLUMNS - promptsize ))
+  if (( promptsize + rubypromptsize + pwdsize > TERMWIDTH )); then
+    (( PR_PWDLEN = TERMWIDTH - promptsize ))
   elif [[ "${langinfo[CODESET]}" = UTF-8 ]]; then
   elif [[ "${langinfo[CODESET]}" = UTF-8 ]]; then
-    PR_FILLBAR="\${(l:$(( COLUMNS - (promptsize + rubypromptsize + pwdsize) ))::${PR_HBAR}:)}"
+    PR_FILLBAR="\${(l:$(( TERMWIDTH - (promptsize + rubypromptsize + pwdsize) ))::${PR_HBAR}:)}"
   else
   else
-    PR_FILLBAR="${PR_SHIFT_IN}\${(l:$(( COLUMNS - (promptsize + rubypromptsize + pwdsize) ))::${altchar[q]:--}:)}${PR_SHIFT_OUT}"
+    PR_FILLBAR="${PR_SHIFT_IN}\${(l:$(( TERMWIDTH - (promptsize + rubypromptsize + pwdsize) ))::${altchar[q]:--}:)}${PR_SHIFT_OUT}"
   fi
   fi
 }
 }