mirror of
https://github.com/iwata/git-now.git
synced 2026-09-10 07:26:29 -04:00
Merge branch 'hotfix/0.0.5.1'
This commit is contained in:
commit
bcad4bb458
111
etc/_git-now
Normal file
111
etc/_git-now
Normal file
|
|
@ -0,0 +1,111 @@
|
||||||
|
#compdef git-now
|
||||||
|
#
|
||||||
|
# git-now ZSH completion function
|
||||||
|
#
|
||||||
|
# Installation
|
||||||
|
# ------------
|
||||||
|
# Drop this somewhere in your $fpath (like /usr/share/zsh/site-functions)
|
||||||
|
# and rename it _brew
|
||||||
|
#
|
||||||
|
# altered from _fink
|
||||||
|
#
|
||||||
|
|
||||||
|
__git-now-add ()
|
||||||
|
{
|
||||||
|
local curcontext="$curcontext" state line
|
||||||
|
typeset -A opt_args
|
||||||
|
|
||||||
|
_arguments \
|
||||||
|
'-n[do not actually add files; only show which ones would be added]'\
|
||||||
|
'-v[show files as they are added]'\
|
||||||
|
'-f[allow adding otherwise ignored files]'\
|
||||||
|
'-i[add contents interactively to index]'\
|
||||||
|
'-p[like -i but go directly into patch mode for specified files]'\
|
||||||
|
'-e[open diff against index in editor]'\
|
||||||
|
'-u[update only files git already knows about]'\
|
||||||
|
'-N[record only that path will be added later]'\
|
||||||
|
':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
|
||||||
|
}
|
||||||
|
|
||||||
|
local curcontext="$curcontext" state line
|
||||||
|
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.'
|
||||||
|
'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[limit git-now commits by your name]'\
|
||||||
|
':branch-name:__git_branch_names'
|
||||||
|
;;
|
||||||
|
|
||||||
|
(grep)
|
||||||
|
_arguments \
|
||||||
|
'-p[generate diff in patch format]'\
|
||||||
|
'-s[generate diffstat instead of patch]'\
|
||||||
|
'-m[limit git-now commits by your name]'\
|
||||||
|
':branch-name:__git_branch_names'
|
||||||
|
;;
|
||||||
|
(*)
|
||||||
|
__git-now-add
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
require 'formula'
|
require 'formula'
|
||||||
|
|
||||||
class GitNow < Formula
|
class GitNow < Formula
|
||||||
url 'https://github.com/iwata/git-now.git', :tag => 'v0.0.5.0'
|
url 'https://github.com/iwata/git-now.git', :tag => 'v0.0.5.1'
|
||||||
version '0.0.5.0'
|
version '0.0.5.1'
|
||||||
head 'https://github.com/iwata/git-now.git', :branch => 'develop'
|
head 'https://github.com/iwata/git-now.git', :branch => 'develop'
|
||||||
homepage 'https://github.com/iwata/git-now'
|
homepage 'https://github.com/iwata/git-now'
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue