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>
Diff
1diff --git a/plugins/svn-fast-info/svn-fast-info.plugin.zsh b/plugins/svn-fast-info/svn-fast-info.plugin.zsh
2index 9ea7f641dc1e0a243ef6f587e6dd71bb2d5bd860..fe52653151e1d1f226469660d5130c6f5b043451 100644
3--- a/plugins/svn-fast-info/svn-fast-info.plugin.zsh
4+++ b/plugins/svn-fast-info/svn-fast-info.plugin.zsh
5@@ -16,30 +16,30 @@ function svn_prompt_info() {
6 7 if [[ -n $repo_need_upgrade ]]; then
8 printf '%s%s%s%s%s%s%s\n' \
9- $ZSH_PROMPT_BASE_COLOR \
10- $ZSH_THEME_SVN_PROMPT_PREFIX \
11- $ZSH_PROMPT_BASE_COLOR \
12- $repo_need_upgrade \
13- $ZSH_PROMPT_BASE_COLOR \
14- $ZSH_THEME_SVN_PROMPT_SUFFIX \
15- $ZSH_PROMPT_BASE_COLOR
16+ "$ZSH_PROMPT_BASE_COLOR" \
17+ "$ZSH_THEME_SVN_PROMPT_PREFIX" \
18+ "$ZSH_PROMPT_BASE_COLOR" \
19+ "$repo_need_upgrade" \
20+ "$ZSH_PROMPT_BASE_COLOR" \
21+ "$ZSH_THEME_SVN_PROMPT_SUFFIX" \
22+ "$ZSH_PROMPT_BASE_COLOR"
23 else
24- printf '%s%s%s %s%s:%s%s%s%s%s' \
25- $ZSH_PROMPT_BASE_COLOR \
26- $ZSH_THEME_SVN_PROMPT_PREFIX \
27+ printf '%s%s%s%s %s%s%s:%s%s%s%s' \
28+ "$ZSH_PROMPT_BASE_COLOR" \
29+ "$ZSH_THEME_SVN_PROMPT_PREFIX" \
30 \
31 "$(svn_status_info $info)" \
32- $ZSH_PROMPT_BASE_COLOR \
33+ "$ZSH_PROMPT_BASE_COLOR" \
34 \
35- $ZSH_THEME_BRANCH_NAME_COLOR \
36- $(svn_current_branch_name $info) \
37- $ZSH_PROMPT_BASE_COLOR \
38+ "$ZSH_THEME_BRANCH_NAME_COLOR" \
39+ "$(svn_current_branch_name $info)" \
40+ "$ZSH_PROMPT_BASE_COLOR" \
41 \
42- $(svn_current_revision $info) \
43- $ZSH_PROMPT_BASE_COLOR \
44+ "$(svn_current_revision $info)" \
45+ "$ZSH_PROMPT_BASE_COLOR" \
46 \
47- $ZSH_THEME_SVN_PROMPT_SUFFIX \
48- $ZSH_PROMPT_BASE_COLOR
49+ "$ZSH_THEME_SVN_PROMPT_SUFFIX" \
50+ "$ZSH_PROMPT_BASE_COLOR"
51 fi
52 }
5354@@ -63,11 +63,12 @@ function svn_current_revision() {
55 function svn_status_info() {
56 local svn_status_string="$ZSH_THEME_SVN_PROMPT_CLEAN"
57 local svn_status="$(svn status 2> /dev/null)";
58- if command grep -E '^\s*A' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string ${ZSH_THEME_SVN_PROMPT_ADDITIONS:-+}"; fi
59- if command grep -E '^\s*D' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string ${ZSH_THEME_SVN_PROMPT_DELETIONS:-✖}"; fi
60- if command grep -E '^\s*M' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string ${ZSH_THEME_SVN_PROMPT_MODIFICATIONS:-✎}"; fi
61- if command grep -E '^\s*[R~]' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string ${ZSH_THEME_SVN_PROMPT_REPLACEMENTS:-∿}"; fi
62- if command grep -E '^\s*\?' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string ${ZSH_THEME_SVN_PROMPT_UNTRACKED:-?}"; fi
63- if command grep -E '^\s*[CI!L]' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string ${ZSH_THEME_SVN_PROMPT_DIRTY:-'!'}"; fi
64+ if command grep -E '^\s*A' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_ADDITIONS:-+}"; fi
65+ if command grep -E '^\s*D' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_DELETIONS:-✖}"; fi
66+ if command grep -E '^\s*M' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_MODIFICATIONS:-✎}"; fi
67+ if command grep -E '^\s*[R~]' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_REPLACEMENTS:-∿}"; fi
68+ if command grep -E '^\s*\?' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_UNTRACKED:-?}"; fi
69+ if command grep -E '^\s*[CI!L]' &> /dev/null <<< $svn_status; then svn_status_string="$svn_status_string${ZSH_THEME_SVN_PROMPT_DIRTY:-!}"; fi
70 echo $svn_status_string
71 }
72+