diff --git a/.config/zsh/functions/fish_collapsed_pwd b/.config/zsh/functions/collapsed_pwd similarity index 75% rename from .config/zsh/functions/fish_collapsed_pwd rename to .config/zsh/functions/collapsed_pwd index 46a3d6e..6bb448e 100644 --- a/.config/zsh/functions/fish_collapsed_pwd +++ b/.config/zsh/functions/collapsed_pwd @@ -13,13 +13,14 @@ local length=${#elements} for i in {1..$((length-1))}; do local elem=${elements[$i]} - if [[ ${#elem} > 1 ]]; then + if [[ $i > 2 ]] && [[ ${#elem} > 1 ]]; then local c=${elem:0:1} if [[ $c == '.' ]]; then - elements[$i]=${elem:0:2} + elem=${elem:0:2} else - elements[$i]=${elem:0:1} + elem=${elem:0:1} fi + elements[$i]=${_PROMPT_COLOR_COLLAPSED_PWD}$elem${_PROMPT_COLOR_PWD} fi done diff --git a/.config/zsh/theme b/.config/zsh/theme index ff518cc..db996f0 100644 --- a/.config/zsh/theme +++ b/.config/zsh/theme @@ -1,3 +1,8 @@ +_PROMPT_COLOR_PWD=%{$fg[magenta]%} +_PROMPT_COLOR_COLLAPSED_PWD=%{$fg[red]%} +_PROMPT_COLOR_GIT=%{$fg[red]%} +_PROMPT_COLOR_SSH=%{$bg[red]$fg[black]%} + _theme_use_icon() { _PROMPT_ERR="%F{#C03C5A}▌%F{reset}" _PROMPT_OK="%F{#5DAC81}▌%F{reset}" diff --git a/.config/zsh/zshrc b/.config/zsh/zshrc index 4fe92e8..be1dce8 100644 --- a/.config/zsh/zshrc +++ b/.config/zsh/zshrc @@ -70,8 +70,8 @@ fi # 其他 fpath+=(${ZDOTDIR}/functions ${ZDOTDIR}/Completion) -# function: 模仿fish折叠路径 -autoload -Uz fish_collapsed_pwd +# 折叠路径 +autoload -Uz collapsed_pwd # >>>----------------------------------- # <<< z.lua (var) # 数据文件路径 @@ -116,13 +116,13 @@ precmd() { if command -v __git_ps1 &>/dev/null; then local git_status=$(__git_ps1 "%s") if [[ -n $git_status ]]; then - prompt_array+=%{$fg[red]%}${git_status}%{$reset_color%} + prompt_array+=${_PROMPT_COLOR_GIT}${git_status}%{$reset_color%} fi fi # 工作目录 - if command -v fish_collapsed_pwd &>/dev/null; then - prompt_array+=%{$fg[magenta]%}$(fish_collapsed_pwd)%{$reset_color%} + if command -v collapsed_pwd &>/dev/null; then + prompt_array+=${_PROMPT_COLOR_PWD}$(collapsed_pwd)%{$reset_color%} else prompt_array+=$PWD fi @@ -141,7 +141,7 @@ precmd() { PROMPT="$prompt_array " } -((_ENV_SSH)) && RPROMPT="%{$bg[red]$fg[black]%} %n@%m %{$reset_color%}" +((_ENV_SSH)) && RPROMPT="${_PROMPT_COLOR_SSH} %n@%m %{$reset_color%}" # >>>-----------------------------------