On Fri, Feb 9, 2018 at 12:01 PM, Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> wrote: > The new completable options are: > > --directory > --exclude > --gpg-sign > --include > --keep-cr > --keep-non-patch > --message-id > --no-keep-cr > --patch-format > --quiet > --reject > --resolvemsg= > > In-progress options like --continue will be part of --git-completion-helper > then filtered out by _git_am() unless the operation is in progress. This > helps keep marking of these operations in just one place. > > Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> > --- > contrib/completion/git-completion.bash | 11 ++++------- > parse-options.h | 4 ++-- > rerere.h | 3 ++- > 3 files changed, 8 insertions(+), 10 deletions(-) > > diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash > index 1e0bd835fe..eba482eb9c 100644 > --- a/contrib/completion/git-completion.bash > +++ b/contrib/completion/git-completion.bash > @@ -1105,12 +1105,13 @@ __git_count_arguments () > } > > __git_whitespacelist="nowarn warn error error-all fix" > +__git_am_inprogress_options="--skip --continue --resolved --abort" > > _git_am () > { > __git_find_repo_path > if [ -d "$__git_repo_path"/rebase-apply ]; then > - __gitcomp "--skip --continue --resolved --abort" > + __gitcomp "$__git_am_inprogress_options" > return > fi > case "$cur" in > @@ -1119,12 +1120,8 @@ _git_am () > return > ;; > --*) > - __gitcomp " > - --3way --committer-date-is-author-date --ignore-date > - --ignore-whitespace --ignore-space-change > - --interactive --keep --no-utf8 --signoff --utf8 > - --whitespace= --scissors > - " > + __gitcomp_builtin am "--no-utf8" \ > + "$__git_am_inprogress_options" > return > esac > } > diff --git a/parse-options.h b/parse-options.h > index 3c32401736..009cd863e5 100644 > --- a/parse-options.h > +++ b/parse-options.h > @@ -144,8 +144,8 @@ struct option { > #define OPT_STRING_LIST(s, l, v, a, h) \ > { OPTION_CALLBACK, (s), (l), (v), (a), \ > (h), 0, &parse_opt_string_list } > -#define OPT_UYN(s, l, v, h) { OPTION_CALLBACK, (s), (l), (v), NULL, \ > - (h), PARSE_OPT_NOARG, &parse_opt_tertiary } > +#define OPT_UYN(s, l, v, h, f) { OPTION_CALLBACK, (s), (l), (v), NULL, \ > + (h), PARSE_OPT_NOARG|(f), &parse_opt_tertiary } > #define OPT_DATE(s, l, v, h) \ > { OPTION_CALLBACK, (s), (l), (v), N_("time"),(h), 0, \ > parse_opt_approxidate_cb } Shouldn't this hunk go into a commit of its own? Or at least it would deserve a mention in the commit message. > diff --git a/rerere.h b/rerere.h > index c2961feaaa..5e5a312e4c 100644 > --- a/rerere.h > +++ b/rerere.h > @@ -37,6 +37,7 @@ extern void rerere_clear(struct string_list *); > extern void rerere_gc(struct string_list *); > > #define OPT_RERERE_AUTOUPDATE(v) OPT_UYN(0, "rerere-autoupdate", (v), \ > - N_("update the index with reused conflict resolution if possible")) > + N_("update the index with reused conflict resolution if possible"), \ > + PARSE_OPT_NOCOMPLETE) > > #endif > -- > 2.16.1.207.gedba492059 >