summaryrefslogtreecommitdiff
path: root/Functions/VCS_Info/vcs_info
diff options
context:
space:
mode:
Diffstat (limited to 'Functions/VCS_Info/vcs_info')
-rw-r--r--Functions/VCS_Info/vcs_info30
1 files changed, 25 insertions, 5 deletions
diff --git a/Functions/VCS_Info/vcs_info b/Functions/VCS_Info/vcs_info
index 7ae11230e..6ce1cd702 100644
--- a/Functions/VCS_Info/vcs_info
+++ b/Functions/VCS_Info/vcs_info
@@ -21,6 +21,7 @@ static_functions=(
VCS_INFO_hook
VCS_INFO_maxexports
VCS_INFO_nvcsformats
+ VCS_INFO_quilt
VCS_INFO_realpath
VCS_INFO_reposub
VCS_INFO_set
@@ -45,12 +46,12 @@ vcs_info () {
[[ -r . ]] || return 0
local pat
- local -i found
+ local -i found retval
local -a enabled disabled dps
- local -x usercontext vcs rrn LC_MESSAGES
+ local -x usercontext vcs rrn quiltmode LC_MESSAGES
local -ix maxexports
local -ax msgs
- local -Ax vcs_comm
+ local -Ax vcs_comm hook_com backend_misc user_data
LC_MESSAGES=C
if [[ -n ${LC_ALL} ]]; then
@@ -58,9 +59,18 @@ vcs_info () {
LANG=${LC_ALL}
local -x LC_ALL
fi
- vcs='-init-'; rrn='-all-'
+ vcs='-init-'; rrn='-all-'; quiltmode='addon'
usercontext=${1:-default}
+ VCS_INFO_hook "start-up"
+ retval=$?
+ if (( retval == 1 )); then
+ return 0
+ elif (( retval == 2 )); then
+ VCS_INFO_set --nvcs
+ return 0
+ fi
+
zstyle -a ":vcs_info:${vcs}:${usercontext}:${rrn}" "enable" enabled
(( ${#enabled} == 0 )) && enabled=( all )
@@ -99,10 +109,20 @@ vcs_info () {
done
(( found == 0 )) && {
- VCS_INFO_set --nvcs
+ vcs='-quilt-'; quiltmode='standalone'
+ VCS_INFO_quilt standalone || VCS_INFO_set --nvcs
return 0
}
+ VCS_INFO_hook "pre-get-data"
+ retval=$?
+ if (( retval == 1 )); then
+ return 0
+ elif (( retval == 2 )); then
+ VCS_INFO_set --nvcs
+ return 0
+ fi
+
VCS_INFO_get_data_${vcs} || {
VCS_INFO_set --nvcs
return 1