diff --git a/README.mdown b/README.mdown
index a851bdd..c2fd1f7 100644
--- a/README.mdown
+++ b/README.mdown
@@ -34,16 +34,16 @@ Installation
### Mac OS
If you're on a Mac and use [homebrew](http://github.com/mxcl/homebrew), it's simple:
- $ brew install https://github.com/iwata/git-now/raw/master/git-now.rb
+ $ brew install git-now
#### install options
- * ``--zsh-completion``
copy zsh completion function for zsh users
+ * ``--zsh-completion``
copy zsh completion function to ``/usr/local/share/zsh/functions`` for zsh users
- $ brew install --zsh-completion https://github.com/iwata/git-now/raw/master/git-now.rb
+ $ brew install --zsh-completion git-now
Show details
- $ brew options https://github.com/iwata/git-now/raw/master/git-now.rb
+ $ brew options git-now
### Manual installation
If you prefer a manual installation, please use the following instructions:
diff --git a/etc/_git-now b/etc/_git-now
index 8920f18..0bd4066 100644
--- a/etc/_git-now
+++ b/etc/_git-now
@@ -16,17 +16,18 @@ __git-now-add ()
typeset -A opt_args
_arguments -s :\
- '(--all)-n[do not actually add files; only show which ones would be added]'\
- '(--all)-v[show files as they are added]'\
- '(-f --force --all)'{-f,--force}'[allow adding otherwise ignored files]'\
- '(-i --interactive --all)'{-i,--interactive}'[add contents interactively to index]'\
- '(-p --path --all)'{-p,--path}'[like -i but go directly into patch mode for specified files]'\
- '(-e --edit --all)'{-e,--edit}'[open diff against index in editor]'\
- '(-u --update --all)'{-u,--update}'[update only files git already knows about]'\
- '(-N --intent-to-add --all)'{-N,--intent-to-add}'[record only that path will be added later]'\
- '(-s --stat)'{-s,--stat}'[generate diffstat instead of patch]'\
- '--push[push to remote after performing finish]'\
- '(-n -v -f --force -i --interactive -p --path -e --edit -u --update -N --intent-to-add)--all[add --update and add .]'\
+ '(--all -h --help)-n[do not actually add files; only show which ones would be added]'\
+ '(--all -h --help)-v[show files as they are added]'\
+ '(-f --force --all -h --help)'{-f,--force}'[allow adding otherwise ignored files]'\
+ '(-i --interactive --all -h --help)'{-i,--interactive}'[add contents interactively to index]'\
+ '(-p --path --all -h --help)'{-p,--path}'[like -i but go directly into patch mode for specified files]'\
+ '(-e --edit --all -h --help)'{-e,--edit}'[open diff against index in editor]'\
+ '(-u --update --all -h --help)'{-u,--update}'[update only files git already knows about]'\
+ '(-N --intent-to-add --all -h --help)'{-N,--intent-to-add}'[record only that path will be added later]'\
+ '(-s --stat -h --help)'{-s,--stat}'[generate diffstat instead of patch]'\
+ '(-h --help)--push[push to remote after performing finish]'\
+ '(-n -v -f --force -i --interactive -p --path -e --edit -u --update -N --intent-to-add -h --help)--all[add --update and add .]'\
+ '(-n -v -f --force -i --interactive -p --path -e --edit -u --update -N --intent-to-add -h --help --all --push)'{-h,--help}'[show help message]'\
':filepattern:_files'
}
@@ -95,8 +96,9 @@ case $state in
(rebase)
_arguments \
- '(-m --mine)'{-m,--mine}'[limit git-now commits by your name]'\
- ':branch-name:__git_branch_names'
+ '(-m --mine -h --help)'{-m,--mine}'[limit git-now commits by your name]'\
+ '(-m --mine -h --help)'{-h,--help}'[show help message]'\
+ ':base-branch-name:__git_branch_names'
;;
(push)
@@ -106,10 +108,11 @@ case $state in
(grep)
_arguments -s : \
- '(-p --path)'{-p,--patch}'[generate diff in patch format]'\
- '(-s --stat)'{-s,--stat}'[generate diffstat instead of patch]'\
- '(-m --mine)'{-m,--mine}'[limit git-now commits by your name]'\
- ':branch-name:__git_branch_names'
+ '(-p --patch -h --help)'{-p,--patch}'[generate diff in patch format]'\
+ '(-s --stat -h --help)'{-s,--stat}'[generate diffstat instead of patch]'\
+ '(-m --mine -h --help)'{-m,--mine}'[limit git-now commits by your name]'\
+ '(-m --mine -s --stat -p --patch -h --help)'{-h,--help}'[show help message]'\
+ ':base-branch-name:__git_branch_names'
;;
(*)
__git-now-add
diff --git a/etc/git-now-completion.zsh b/etc/git-now-completion.zsh
deleted file mode 100644
index 3af8c7d..0000000
--- a/etc/git-now-completion.zsh
+++ /dev/null
@@ -1,132 +0,0 @@
-#!zsh
-#
-# Installation
-# ------------
-#
-# To achieve git-flow completion nirvana:
-#
-# 0. Update your zsh's git-completion module to the newest verion.
-# From here. http://zsh.git.sourceforge.net/git/gitweb.cgi?p=zsh/zsh;a=blob_plain;f=Completion/Unix/Command/_git;hb=HEAD
-#
-# 1. Install this file. Either:
-#
-# a. Place it in your .zshrc:
-#
-# b. Or, copy it somewhere (e.g. ~/.git-now-completion.zsh) and put the following line in
-# your .zshrc:
-#
-# source ~/.git-now-completion.zsh
-#
-
-_git-now ()
-{
- local curcontext="$curcontext" state line expl
- typeset -A opt_args
-
- _arguments -C \
- ':command:->command' \
- '*::options:->options'
-
- case $state in
- (command)
-
- local -a subcommands
- subcommands=(
- 'add:default subcommand.'
- 'rebase:rebase for temporary commits.'
- 'push:remove remote branch and push to remote repoistory for rebase commits.'
- 'grep:grep temporary commits.'
- )
- _describe -t commands 'git now' subcommands
- __git-now-add
- ;;
-
- (options)
- case $line[1] in
-
- (add)
- __git-now-add
- ;;
-
- (rebase)
- _arguments \
- '(-m --mine)'{-m,--mine}'[limit git-now commits by your name]'\
- ':branch-name:__git_branch_names'
- ;;
-
- (push)
- _arguments \
- ':remote-repostory:__git_remotes'
- ;;
-
- (grep)
- _arguments -s : \
- '(-p --path)'{-p,--patch}'[generate diff in patch format]'\
- '(-s --stat)'{-s,--stat}'[generate diffstat instead of patch]'\
- '(-m --mine)'{-m,--mine}'[limit git-now commits by your name]'\
- ':branch-name:__git_branch_names'
- ;;
- (*)
- __git-now-add
- ;;
- esac
- ;;
- esac
-}
-
-__git-now-add ()
-{
- local curcontext="$curcontext" state line expl
- typeset -A opt_args
-
- _arguments -s :\
- '(--all)-n[do not actually add files; only show which ones would be added]'\
- '(--all)-v[show files as they are added]'\
- '(-f --force --all)'{-f,--force}'[allow adding otherwise ignored files]'\
- '(-i --interactive --all)'{-i,--interactive}'[add contents interactively to index]'\
- '(-p --path --all)'{-p,--path}'[like -i but go directly into patch mode for specified files]'\
- '(-e --edit --all)'{-e,--edit}'[open diff against index in editor]'\
- '(-u --update --all)'{-u,--update}'[update only files git already knows about]'\
- '(-N --intent-to-add --all)'{-N,--intent-to-add}'[record only that path will be added later]'\
- '(-s --stat)'{-s,--stat}'[generate diffstat instead of patch]'\
- '--push[push to remote after performing finish]'\
- '(-n -v -f --force -i --interactive -p --path -e --edit -u --update -N --intent-to-add)--all[add --update and add .]'\
- ':filepattern:_files'
-}
-
-__git_remotes () {
- local expl gitdir remotes
-
- gitdir=$(_call_program gitdir git rev-parse --git-dir 2>/dev/null)
- __git_command_successful || return
-
- remotes=(${${(f)"$(_call_program remotes git config --get-regexp '"^remote\..*\.url$"')"}//#(#b)remote.(*).url */$match[1]})
- __git_command_successful || return
-
- # TODO: Should combine the two instead of either or.
- if (( $#remotes > 0 )); then
- _wanted remotes expl remote compadd $* - $remotes
- else
- _wanted remotes expl remote _files $* - -W "($gitdir/remotes)" -g "$gitdir/remotes/*"
- fi
-}
-
-__git_branch_names () {
- local expl
- declare -a branch_names
-
- branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads 2>/dev/null)"}#refs/heads/})
- __git_command_successful || return
-
- _wanted branch-names expl branch-name compadd $* - $branch_names
-}
-
-__git_command_successful () {
- if (( ${#pipestatus:#0} > 0 )); then
- _message 'not a git repository'
- return 1
- fi
- return 0
-}
-
-zstyle ':completion:*:*:git:*' user-commands now:'description for foo'
diff --git a/git-now.rb b/etc/git-now.rb
similarity index 85%
rename from git-now.rb
rename to etc/git-now.rb
index 7263a66..0d42c74 100644
--- a/git-now.rb
+++ b/etc/git-now.rb
@@ -1,14 +1,14 @@
require 'formula'
class GitNow < Formula
- url 'https://github.com/iwata/git-now.git', :tag => 'v0.1.0.9'
- version '0.1.0.9'
+ url 'https://github.com/iwata/git-now.git', :tag => 'v0.1.1.0'
+ version '0.1.1.0'
head 'https://github.com/iwata/git-now.git', :branch => 'develop'
homepage 'https://github.com/iwata/git-now'
def options
[
- ['--zsh-completion', "copy zsh completion function file to #{share}/zsh/functions"]
+ ['--zsh-completion', "copy zsh completion function file to #{share}/zsh/functions: please add #{share}/zsh/functions to $fpath in .zshrc"]
]
end
@@ -19,10 +19,6 @@ class GitNow < Formula
# for longopt
depends_on 'gnu-getopt'
- if ARGV.include? '--zsh-completion'
- depends_on 'zsh'
- end
-
def install
system "make", "prefix=#{prefix}", "install"
if ARGV.include? '--zsh-completion'