X-Git-Url: https://git.madduck.net/code/vcsh.git/blobdiff_plain/b04d813813ee5e0bd6d85debf23b2b5675e55347..c1b6930b5e9ec3e3871ed04150f100b1ff12aa8f:/_vcsh?ds=sidebyside diff --git a/_vcsh b/_vcsh index 783cf10..2367fb4 100644 --- a/_vcsh +++ b/_vcsh @@ -1,7 +1,6 @@ #compdef vcsh function __vcsh_repositories () { - #TODO list only one repo and stop local expl local -a repos repos=( ${(f)"$(command vcsh list)"} ) @@ -17,11 +16,11 @@ function _vcsh-clone () { } function _vcsh-delete () { - __vcsh_repositories + (( CURRENT == 2 )) && __vcsh_repositories } function _vcsh-enter () { - __vcsh_repositories + (( CURRENT == 2 )) && __vcsh_repositories } function _vcsh-help () { @@ -41,33 +40,38 @@ function _vcsh-list-tracked () { } function _vcsh-list-tracked-by () { - __vcsh_repositories + (( CURRENT == 2 )) && __vcsh_repositories } function _vcsh-rename () { - __vcsh_repositories - #TODO tell the user to write new stuff + (( CURRENT == 2 )) && __vcsh_repositories + (( CURRENT == 3 )) && _message "new repository name" + (( CURRENT > 3 )) && _nothing } function _vcsh-run () { - __vcsh_repositories - _commands - #TODO normal commands + (( CURRENT == 2 )) && __vcsh_repositories + if (( CURRENT >= 3 )); then + words=( "${(@)words[3,-1]}" ) + (( CURRENT -= 2 )) + _complete + fi } -function _vcsh-setup () { - __vcsh_repositories +function _vcsh-upgrade () { + (( CURRENT == 2 )) && __vcsh_repositories } function _vcsh-version () { + _nothing } function _vcsh-which () { - __vcsh_not_implemented_yet "$0" #TODO + _files } function _vcsh-write-gitignore () { - __vcsh_repositories + (( CURRENT == 2 )) && __vcsh_repositories } function _vcsh () { @@ -86,7 +90,7 @@ function _vcsh () { "list-tracked-by:list files tracked by a repository" "rename:rename a repository" "run:run command with <\$GIT_DIR> and <\$GIT_WORK_TREE> set" - "setup:set up repository with recommended settings" + "upgrade:upgrade repository to currently recommended settings" "version:print version information" "which:find in name of any tracked file" "write-gitignore:write .gitignore.d/ via git ls-files"