From edd9798de765049a904e0afa830b191d1932087d Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Mon, 23 Jan 2017 18:15:35 +0000 Subject: 40403/0003: vcs_info set-patch-format helper: Part #3. --- Functions/VCS_Info/Backends/VCS_INFO_get_data_git | 8 ++------ Functions/VCS_Info/Backends/VCS_INFO_get_data_hg | 11 ++--------- Functions/VCS_Info/VCS_INFO_quilt | 8 ++------ Functions/VCS_Info/VCS_INFO_set-patch-format | 9 +++++++++ 4 files changed, 15 insertions(+), 21 deletions(-) (limited to 'Functions') diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git index 974f393cf..4d251497c 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_git +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_git @@ -126,13 +126,9 @@ VCS_INFO_git_handle_patches () { (( git_all = ${#git_patches_applied} + ${#git_patches_unapplied} )) VCS_INFO_set-patch-format 'git_patches_applied' 'git_applied_s' \ - 'git_patches_unapplied' 'git_unapplied_s' + 'git_patches_unapplied' 'git_unapplied_s' \ + ":vcs_info:${vcs}:${usercontext}:${rrn}" gitmsg - if (( ${#git_patches_applied} )); then - zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" patch-format gitmsg || gitmsg="%p (%n applied)" - else - zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" nopatch-format gitmsg || gitmsg="no patch applied" - fi hook_com=( applied "${git_applied_s}" unapplied "${git_unapplied_s}" applied-n ${#git_patches_applied} unapplied-n ${#git_patches_unapplied} all-n ${git_all} ) if VCS_INFO_hook 'set-patch-format' "${gitmsg}"; then diff --git a/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg b/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg index 90164fb52..52effa508 100644 --- a/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg +++ b/Functions/VCS_Info/Backends/VCS_INFO_get_data_hg @@ -204,21 +204,14 @@ if zstyle -T ":vcs_info:${vcs}:${usercontext}:${rrn}" get-mq \ fi VCS_INFO_set-patch-format 'mqpatches' 'applied_string' \ - 'mqunapplied' 'unapplied_string' + 'mqunapplied' 'unapplied_string' \ + ":vcs_info:${vcs}:${usercontext}:${rrn}" hgmqstring if VCS_INFO_hook 'gen-mqguards-string' "${mqguards[@]}"; then guards_string=${(j:,:)mqguards} else guards_string=${hook_com[guards-string]} fi - if (( ${#mqpatches} )); then - zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" patch-format \ - hgmqstring || hgmqstring="%p (%n applied)" - else - zstyle -s ":vcs_info:${vcs}:${usercontext}:${rrn}" nopatch-format \ - hgmqstring || hgmqstring="no patch applied" - fi - hook_com=( applied "${applied_string}" unapplied "${unapplied_string}" applied-n ${#mqpatches} unapplied-n ${#mqunapplied} all-n ${#mqseries} guards "${guards_string}" guards-n ${#mqguards} ) diff --git a/Functions/VCS_Info/VCS_INFO_quilt b/Functions/VCS_Info/VCS_INFO_quilt index 1872fc7fa..a81da1c49 100644 --- a/Functions/VCS_Info/VCS_INFO_quilt +++ b/Functions/VCS_Info/VCS_INFO_quilt @@ -174,13 +174,9 @@ function VCS_INFO_quilt() { all=( ${(Oa)applied} ${unapplied} ) VCS_INFO_set-patch-format 'applied' 'applied_string' \ - 'unapplied' 'unapplied_string' + 'unapplied' 'unapplied_string' \ + ${context} qstring - if (( ${#applied} )); then - zstyle -s "${context}" patch-format qstring || qstring="%p (%n applied)" - else - zstyle -s "${context}" nopatch-format qstring || qstring="no patch applied" - fi hook_com=( applied "${applied_string}" unapplied "${unapplied_string}" applied-n ${#applied} unapplied-n ${#unapplied} all-n ${#all} ) if VCS_INFO_hook 'set-patch-format' ${qstring}; then diff --git a/Functions/VCS_Info/VCS_INFO_set-patch-format b/Functions/VCS_Info/VCS_INFO_set-patch-format index 0bbd4742b..664b4563d 100644 --- a/Functions/VCS_Info/VCS_INFO_set-patch-format +++ b/Functions/VCS_Info/VCS_INFO_set-patch-format @@ -6,6 +6,8 @@ # $2 - name of a parameter to store the applied-string in # $3 - name of an array parameter to be the argument to gen-unapplied-string # $4 - name of a parameter to store the unapplied-string in +# $5 - context argument for use in zstyle getters +# $6 - name of a parameter to store a patch-format format string in { local REPLY if VCS_INFO_hook 'gen-applied-string' "${(@P)1}"; then @@ -27,4 +29,11 @@ fi : ${(P)4::=$REPLY} hook_com=() + + if (( ${(P)#1} )); then + zstyle -s "${5}" patch-format REPLY || REPLY="%p (%n applied)" + else + zstyle -s "${5}" nopatch-format REPLY || REPLY="no patch applied" + fi + : ${(P)6::=$REPLY} } -- cgit 1.4.1