svn-fast-info: fix svn-fast-info printfs (#7140)

The svn-fast-info plugin printf commands was not well formatted, now it can handle empty
variables. Also removed redundant spaces.

Co-authored-by: RazManor <Raz.Manor@valens.com>
Co-authored-by: Marc Cornellà <marc.cornella@live.com>
This commit is contained in:
Melebius 2019-05-20 22:31:48 +02:00 committed by Marc Cornellà
parent f960e2be6f
commit 8022fdbd13

View file

@ -16,30 +16,30 @@ function svn_prompt_info() {
if [[ -n $repo_need_upgrade ]]; then if [[ -n $repo_need_upgrade ]]; then
printf '%s%s%s%s%s%s%s\n' \ printf '%s%s%s%s%s%s%s\n' \
$ZSH_PROMPT_BASE_COLOR \ "$ZSH_PROMPT_BASE_COLOR" \
$ZSH_THEME_SVN_PROMPT_PREFIX \ "$ZSH_THEME_SVN_PROMPT_PREFIX" \
$ZSH_PROMPT_BASE_COLOR \ "$ZSH_PROMPT_BASE_COLOR" \
$repo_need_upgrade \ "$repo_need_upgrade" \
$ZSH_PROMPT_BASE_COLOR \ "$ZSH_PROMPT_BASE_COLOR" \
$ZSH_THEME_SVN_PROMPT_SUFFIX \ "$ZSH_THEME_SVN_PROMPT_SUFFIX" \
$ZSH_PROMPT_BASE_COLOR "$ZSH_PROMPT_BASE_COLOR"
else else
printf '%s%s%s %s%s:%s%s%s%s%s' \ printf '%s%s%s%s %s%s%s:%s%s%s%s' \
$ZSH_PROMPT_BASE_COLOR \ "$ZSH_PROMPT_BASE_COLOR" \
$ZSH_THEME_SVN_PROMPT_PREFIX \ "$ZSH_THEME_SVN_PROMPT_PREFIX" \
\ \
"$(svn_status_info $info)" \ "$(svn_status_info $info)" \
$ZSH_PROMPT_BASE_COLOR \ "$ZSH_PROMPT_BASE_COLOR" \
\ \
$ZSH_THEME_BRANCH_NAME_COLOR \ "$ZSH_THEME_BRANCH_NAME_COLOR" \
$(svn_current_branch_name $info) \ "$(svn_current_branch_name $info)" \
$ZSH_PROMPT_BASE_COLOR \ "$ZSH_PROMPT_BASE_COLOR" \
\ \
$(svn_current_revision $info) \ "$(svn_current_revision $info)" \
$ZSH_PROMPT_BASE_COLOR \ "$ZSH_PROMPT_BASE_COLOR" \
\ \
$ZSH_THEME_SVN_PROMPT_SUFFIX \ "$ZSH_THEME_SVN_PROMPT_SUFFIX" \
$ZSH_PROMPT_BASE_COLOR "$ZSH_PROMPT_BASE_COLOR"
fi fi
} }
@ -63,11 +63,12 @@ function svn_current_revision() {
function svn_status_info() { function svn_status_info() {
local svn_status_string="$ZSH_THEME_SVN_PROMPT_CLEAN" local svn_status_string="$ZSH_THEME_SVN_PROMPT_CLEAN"
local svn_status="$(svn status 2> /dev/null)"; local svn_status="$(svn status 2> /dev/null)";
if command grep -E '^\s*A' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string ${ZSH_THEME_SVN_PROMPT_ADDITIONS:-+}"; fi if command grep -E '^\s*A' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_ADDITIONS:-+}"; fi
if command grep -E '^\s*D' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string ${ZSH_THEME_SVN_PROMPT_DELETIONS:-}"; fi if command grep -E '^\s*D' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_DELETIONS:-}"; fi
if command grep -E '^\s*M' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string ${ZSH_THEME_SVN_PROMPT_MODIFICATIONS:-}"; fi if command grep -E '^\s*M' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_MODIFICATIONS:-}"; fi
if command grep -E '^\s*[R~]' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string ${ZSH_THEME_SVN_PROMPT_REPLACEMENTS:-}"; fi if command grep -E '^\s*[R~]' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_REPLACEMENTS:-}"; fi
if command grep -E '^\s*\?' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string ${ZSH_THEME_SVN_PROMPT_UNTRACKED:-?}"; fi if command grep -E '^\s*\?' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_UNTRACKED:-?}"; fi
if command grep -E '^\s*[CI!L]' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string ${ZSH_THEME_SVN_PROMPT_DIRTY:-'!'}"; fi if command grep -E '^\s*[CI!L]' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_DIRTY:-!}"; fi
echo $svn_status_string echo $svn_status_string
} }