From: Richard Hartmann Date: Tue, 22 Nov 2011 20:09:00 +0000 (+0100) Subject: Re-introduce `vcsh use` and `vcsh exit` X-Git-Url: https://git.madduck.net/code/vcsh.git/commitdiff_plain/da4f9ca15ae53b4918374fa4da04b282231e3c7c?ds=sidebyside;hp=17c66ba853542eff2ca6cf5c40736e14fce51760 Re-introduce `vcsh use` and `vcsh exit` github: closes: #4 --- diff --git a/_vcsh b/_vcsh index 6ee95c8..9f5b006 100644 --- a/_vcsh +++ b/_vcsh @@ -1,15 +1,15 @@ #compdef vcsh -# use\:"use/enter repo" -# exit\:"exit repo" _arguments \ ':subcommand:(( clone\:"clone from repo" help\:"display help" - init\:"init & clone from repo" delete\:"delete repo" + exit\:"Exit repo; unset" + init\:"init & clone from repo" list\:"list all repos" run\:"run command on repo" seed-gitignore\:"seed .gitignore.d/foo from git ls-files" + use\:"Use repo; set ENV" \\:"Run git command directly" ))' diff --git a/doc/vcsh.1.ronn b/doc/vcsh.1.ronn index 5081044..744a0b3 100644 --- a/doc/vcsh.1.ronn +++ b/doc/vcsh.1.ronn @@ -5,10 +5,12 @@ vcsh(1) - manage and sync config files via git `vcsh` clone [] -`vcsh` help - `vcsh` delete +`vcsh` exit + +`vcsh` help + `vcsh` init `vcsh` list @@ -17,6 +19,8 @@ vcsh(1) - manage and sync config files via git `vcsh` seed-gitignore +`vcsh` use + `vcsh` @@ -43,12 +47,15 @@ A sample configuration for `vcsh` and `mr` can be found at * clone: Clone an existing repository. -* help: - Display help. - * delete: Delete an existing repository. +* exit: + Exit repository; unset ENV + +* help: + Display help. + * init: Initialize an empty repository. @@ -62,6 +69,9 @@ A sample configuration for `vcsh` and `mr` can be found at * seed-gitignore: Seed .gitignore.d/ from git ls-files. +* use: + Use repository; set ENV + * : Shortcut to run `vcsh` on a repo. Will prepend `git` to by itself. diff --git a/vcsh b/vcsh index daf8893..6fa6644 100755 --- a/vcsh +++ b/vcsh @@ -14,19 +14,18 @@ help() { [] Clone from an existing repository help Display this help text delete Delete an existing repository + exit Exit repository; unset ENV init Initialize a new repository - list List all repos + list List all repositories run \\ Use this repository seed-gitignore \\ Seed .gitignore.d/ from git ls-files + use Use repository; set ENV Special command that allows you to run git commands directly without having to type so much ;)" >&2 -# use Use this repository -# -# exit Exit vcsh mode" >&2 } debug() { @@ -85,7 +84,8 @@ if [ "$1" = 'clone' ]; then elif [ "$1" = 'delete' ] || [ "$1" = 'init' ] || [ "$1" = 'run' ] || - [ "$1" = 'seed-gitignore' ]; then + [ "$1" = 'seed-gitignore' ] || + [ "$1" = 'use' ]; then [ -z $2 ] && echo "$SELF $1: error: please specify repository to work on" && return 1 export VCSH_COMMAND="$1" export VCSH_REPO_NAME="$2" @@ -95,7 +95,8 @@ elif [ "$1" = 'delete' ] || if [ "$VCSH_COMMAND" = 'run' ]; then [ -z "$VCSH_EXTERNAL_COMMAND" ] && echo "$SELF $1 $2: error: please specify a command" && return 1 fi -elif [ "$1" = 'help' ] || +elif [ "$1" = 'exit' ] || + [ "$1" = 'help' ] || [ "$1" = 'list' ]; then export VCSH_COMMAND="$1" else @@ -169,16 +170,16 @@ To continue, type \"Yes, do as I say\"" cd "$old_dir" verbose "delete end" -#elif [ "$VCSH_COMMAND" = 'exit' ]; then -# verbose "exit begin" +elif [ "$VCSH_COMMAND" = 'exit' ]; then + verbose "exit begin" # if [ -n "$ZSH_VERSION" ] && [ "$VCSH_NO_IGNORE_EOF" = '1' ]; then # unset VCSH_NO_IGNORE_EOF # setopt NO_IGNORE_EOF # fi -# leave + leave # [ -n "$ZSH_VERSION" ] && [ "$USER" = richih ] && buildPS1 -# verbose "exit end" -# exit 0 + verbose "exit end" + return 0 elif [ "$VCSH_COMMAND" = 'init' ]; then verbose "init begin" @@ -236,8 +237,8 @@ elif [ "$VCSH_COMMAND" = 'seed-gitignore' ]; then cd "$old_dir" verbose "seed-gitignore end" -#elif [ "$VCSH_COMMAND" = 'use' ]; then -# verbose "use begin" +elif [ "$VCSH_COMMAND" = 'use' ]; then + verbose "use begin" # if [ -n "$ZSH_VERSION" ]; then # if [ -o NO_IGNORE_EOF ]; then # export VCSH_NO_IGNORE_EOF=1 @@ -250,9 +251,9 @@ elif [ "$VCSH_COMMAND" = 'seed-gitignore' ]; then # zle -N vcsh_exit # bindkey '^d' 'vcsh_exit' # fi -# use || return $? + use || return $? # [ -n "$ZSH_VERSION" ] && [ "$USER" = richih ] && buildPS1 -# verbose "use end" + verbose "use end" else verbose "defaulting to calling help()"