diff options
author | Frank Terbeck <bewater@users.sourceforge.net> | 2011-03-30 21:17:07 +0000 |
---|---|---|
committer | Frank Terbeck <bewater@users.sourceforge.net> | 2011-03-30 21:17:07 +0000 |
commit | abe0ee3936c7f4a291666af3a9d70ed2a6d710f4 (patch) | |
tree | 8298dd598fd7d7ce375c13473e780c0c6e4259c5 /Functions/VCS_Info/vcs_info_hookadd | |
parent | d7bcf2bb96047aa6a00d59885d1343ef4e0db54f (diff) | |
download | zsh-abe0ee3936c7f4a291666af3a9d70ed2a6d710f4.tar.gz zsh-abe0ee3936c7f4a291666af3a9d70ed2a6d710f4.tar.xz zsh-abe0ee3936c7f4a291666af3a9d70ed2a6d710f4.zip |
28960: Add functions to add/remove static hooks.
Diffstat (limited to 'Functions/VCS_Info/vcs_info_hookadd')
-rw-r--r-- | Functions/VCS_Info/vcs_info_hookadd | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Functions/VCS_Info/vcs_info_hookadd b/Functions/VCS_Info/vcs_info_hookadd new file mode 100644 index 000000000..867f7e271 --- /dev/null +++ b/Functions/VCS_Info/vcs_info_hookadd @@ -0,0 +1,22 @@ +## vim:ft=zsh +## Written by Frank Terbeck <ft@bewatermyfriend.org> +## Distributed under the same BSD-ish license as zsh itself. + +emulate -L zsh +setopt extendedglob + +if (( ${#argv} < 2 )); then + print 'usage: vcs_info_hookadd <HOOK> <FUNCTION(s)...>' + return 1 +fi + +local hook func context +local -a old + +hook=$1 +shift +context=":vcs_info-static_hooks:${hook}" + +zstyle -a "${context}" hooks old +zstyle "${context}" hooks "${old[@]}" "$@" +return $? |