git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2] completion: use builtin completion for format-patch

From
Duy Nguyen <pclouds@gmail.com>
Date
Nov 1, 2018, 15:40 UTC
Message-ID
<CACsJy8AowaAW91wGMYbC8aTOB1NoqQN-5NGx=qUCHp0i6zQRDA@mail.gmail.com>
In-Reply-To
<xmqqk1lxvaj6.fsf@gitster-ct.c.googlers.com>
On Thu, Nov 1, 2018 at 2:42 AM Junio C Hamano <gitster@pobox.com> wrote:
Show 35 quoted lines
> >> @@ -2080,16 +2071,19 @@ _git_send_email ()
> >>                 return
> >>                 ;;
> >>         --*)
> >> -               __gitcomp "--annotate --bcc --cc --cc-cmd --chain-reply-to
> >> -                       --compose --confirm= --dry-run --envelope-sender
> >> -                       --from --identity
> >> -                       --in-reply-to --no-chain-reply-to --no-signed-off-by-cc
> >> -                       --no-suppress-from --no-thread --quiet --reply-to
> >> -                       --signed-off-by-cc --smtp-pass --smtp-server
> >> -                       --smtp-server-port --smtp-encryption= --smtp-user
> >> -                       --subject --suppress-cc= --suppress-from --thread --to
> >> -                       --validate --no-validate
> >> -                       $__git_format_patch_options"
> >> +               __gitcomp "--all --annotate --attach --bcc --binary --cc --cc= --cc-cmd
> >> +                       --chain-reply-to --compose --confirm= --cover-letter --dry-run
> >> +                       --dst-prefix= --envelope-sender --from --full-index --identity
> >> +                       --ignore-if-in-upstream --inline --in-reply-to --in-reply-to=
> >> +                       --keep-subject --no-attach --no-chain-reply-to --no-prefix
> >> +                       --no-signature --no-signed-off-by-cc --no-suppress-from --not --notes
> >> +                       --no-thread --no-validate --numbered --numbered-files
> >> +                       --output-directory --quiet --reply-to --reroll-count --signature
> >> +                       --signed-off-by-cc --signoff --smtp-encryption= --smtp-pass
> >> +                       --smtp-server --smtp-server-port --smtp-user --src-prefix=
> >> +                       --start-number --stdout --subject --subject-prefix= --suffix=
> >> +                       --suppress-cc= --suppress-from --thread --thread= --to --to=
> >> +                       --validate"
> >
> > I have no comment about this. In an ideal world, sendemail.perl could
> > be taught to support --git-completion-helper but I don't think my
> > little remaining Perl knowledge (or time) is enough to do it. Perhaps
> > this will do. I don't know.
>
> So "all", "attach", etc. are added to this list while these similar
> options are lost from the other variable?  Is this a good trade-off?

Not sure if I understand you correctly, but it looks to me that the options in git-send-email.perl are well organized, so we could add --git-completon-helper in that script to print all send-email specific options, then call "git format-patch --git-completion-helper" to add a bunch more. The options that are handled by setup_revisions() will have to be maintained manually here like $__git_format_patch_options and added on top in both _git_send_email () and _git_format_patch ().

So, nothing option is lost and by the time setup_revisions() supports -git-completion-helper, we can get rid of the manual shell variable too. The downside is, lots of work, probably.

-- 
Duy
Previous: Junio C HamanoNext: Junio C Hamano
Message 8 of 13 in “completion: use builtin completion for format-patch”
  1. completion: use builtin completion for format-patchDenton Liu, Oct 29, 2018
  2. Junio C HamanoOct 30, 2018
  3. Denton LiuOct 30, 2018
  4. completion: use builtin completion for format-patchDenton Liu, Oct 30, 2018
  5. Junio C HamanoOct 30, 2018
  6. Duy NguyenOct 30, 2018
  7. Junio C HamanoNov 1, 2018
  8. Duy NguyenNov 1, 2018
  9. Junio C HamanoNov 1, 2018
  10. Duy NguyenNov 3, 2018
  11. Denton LiuNov 3, 2018
  12. Duy NguyenNov 3, 2018
  13. Junio C HamanoNov 3, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.