X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/3ebc44b315d4b07a0ec052c32228a8a0ecdc96d0..5b1b551418efe890bec37aa79d3d16346d96d0f0:/_vcsh diff --git a/_vcsh b/_vcsh index 47dbd9e..77ff976 100644 --- a/_vcsh +++ b/_vcsh @@ -23,6 +23,10 @@ function _vcsh-enter () { (( CURRENT == 2 )) && __vcsh_repositories } +function _vcsh-foreach () { + _dispatch git git +} + function _vcsh-help () { _nothing } @@ -36,11 +40,11 @@ function _vcsh-list () { } function _vcsh-list-tracked () { - _nothing + (( CURRENT == 2 )) && __vcsh_repositories } -function _vcsh-list-tracked-by () { - (( CURRENT == 2 )) && __vcsh_repositories +function _vcsh-list-untracked () { + _nothing } function _vcsh-pull () { @@ -66,6 +70,10 @@ function _vcsh-run () { fi } +function _vcsh-status () { + (( CURRENT == 2 )) && __vcsh_repositories +} + function _vcsh-upgrade () { (( CURRENT == 2 )) && __vcsh_repositories } @@ -89,16 +97,20 @@ function _vcsh () { subcommands=( "clone:clone an existing repository" + "commit:commit in all repositories" "delete:delete an existing repository" "enter:enter repository; spawn new <\$SHELL>" + "foreach:execute for all repos" "help:display help" "init:initialize an empty repository" "list:list all local vcsh repositories" "list-tracked:list all files tracked by vcsh" - "list-tracked-by:list files tracked by a repository" + "list-untracked:list all files not tracked by vcsh" "pull:pull from all vcsh remotes" + "push:push to vcsh remotes" "rename:rename a repository" "run:run command with <\$GIT_DIR> and <\$GIT_WORK_TREE> set" + "status:show statuses of all/one vcsh repositories" "upgrade:upgrade repository to currently recommended settings" "version:print version information" "which:find in name of any tracked file" @@ -126,7 +138,7 @@ function _vcsh () { _dispatch git git else curcontext="${curcontext%:*:*}:vcsh-${vcshcommand}:" - _call_function ret _vcsh-${vcshcommand} + _call_function ret _vcsh-${vcshcommand} && (( ret )) fi fi fi