From c4ffca6c0058eb5f5c1f13fce332d970f2274d48 Mon Sep 17 00:00:00 2001 From: Marc Khouri Date: Thu, 11 Jul 2024 16:36:31 -0400 Subject: [PATCH] Simplify Pygmalion Theme The Pygmalion theme previously had some logic for counting line length and taking action based on line length. The action was removed in c52441b624c0b1fa075bc6110032bd4e75311909, but the counting still needlessly happens. This commit removes the code to count line length, and simplifies the Pygmalion theme by moving the "precmd" into the setup. As a bonus unintended side effect, this makes the Pygmalion theme compatible with the current async prompting logic (i.e. after this change, Pygmalion is no longer affected by https://github.com/ohmyzsh/ohmyzsh/issues/12328) --- themes/pygmalion.zsh-theme | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/themes/pygmalion.zsh-theme b/themes/pygmalion.zsh-theme index be9ca3889..a9ce6fef0 100644 --- a/themes/pygmalion.zsh-theme +++ b/themes/pygmalion.zsh-theme @@ -1,7 +1,7 @@ # Yay! High voltage and arrows! prompt_setup_pygmalion(){ - setopt localoptions extendedglob + setopt localoptions nopromptsubst extendedglob ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}%{$fg[green]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " @@ -10,22 +10,6 @@ prompt_setup_pygmalion(){ base_prompt='%{$fg[magenta]%}%n%{$reset_color%}%{$fg[cyan]%}@%{$reset_color%}%{$fg[yellow]%}%m%{$reset_color%}%{$fg[red]%}:%{$reset_color%}%{$fg[cyan]%}%0~%{$reset_color%}%{$fg[red]%}|%{$reset_color%}' post_prompt='%{$fg[cyan]%}⇒%{$reset_color%} ' - - base_prompt_nocolor=${base_prompt//\%\{[^\}]##\}} - post_prompt_nocolor=${post_prompt//\%\{[^\}]##\}} - - autoload -U add-zsh-hook - add-zsh-hook precmd prompt_pygmalion_precmd -} - -prompt_pygmalion_precmd(){ - setopt localoptions nopromptsubst extendedglob - - local gitinfo=$(git_prompt_info) - local gitinfo_nocolor=${gitinfo//\%\{[^\}]##\}} - local exp_nocolor="$(print -P \"${base_prompt_nocolor}${gitinfo_nocolor}${post_prompt_nocolor}\")" - local prompt_length=${#exp_nocolor} - PROMPT="${base_prompt}\$(git_prompt_info)${post_prompt}" }