git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Carlo Marcelo Arenas Belón" <carenas@gmail.com>
To: Thiago Perrotta <tbperrotta@gmail.com>
Cc: gitster@pobox.com, bagasdotme@gmail.com, avarab@gmail.com,
	git@vger.kernel.org
Subject: Re: [PATCH v6 2/3] send-email: programmatically generate bash completions
Date: Fri, 8 Oct 2021 23:38:15 -0700	[thread overview]
Message-ID: <YWE41xTLhBFWqUFl@carlos-mbp.lan> (raw)
In-Reply-To: <20211007033652.80793-3-tbperrotta@gmail.com>

On Wed, Oct 06, 2021 at 11:36:51PM -0400, Thiago Perrotta wrote:
> diff --git a/git-send-email.perl b/git-send-email.perl
> index d1731c1755..465e9867b9 100755
> --- a/git-send-email.perl
> +++ b/git-send-email.perl
> @@ -40,7 +40,7 @@ package main;
>  
>  sub usage {
>  	print <<EOT;
> -git send-email [options] <file | directory | rev-list options >
> +git send-email [options] <file | directory | rev-list options>

this change isn't really needed now that you are not using the usage()
to get the options, and should probably go into an independent patch,
or even better, as part of patch 3 so it is consistent.

> @@ -113,8 +113,23 @@ sub usage {
>  	exit(1);
>  }
>  
> +sub uniq {
> +    my %seen;
> +    grep !$seen{$_}++, @_;
> +}

indentation in this file is a little odd, but will be better if you use the
most common one (tab), instead of your own version here (4 or 2 spaces) and
in the rest of the code.

>  sub completion_helper {
> -    print Git::command('format-patch', '--git-completion-helper'), "\n";
> +    my ($options) = @_;
> +    my @send_email_opts = map {
> +      "--$_"
> +    } map {
> +      s/(?:[:=][si]|!)$//;
> +      split /\|/, $_;
> +    } keys %$options;
> +    my @format_patch_opts = Git::command('format-patch', '--git-completion-helper');
> +    my @options = uniq @send_email_opts, @format_patch_opts;

reusing "options" here makes this code more confusing than it needs to be
maybe something like :

diff --git a/git-send-email.perl b/git-send-email.perl
index a1338dd774..d47543bc0d 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -119,13 +119,13 @@ sub uniq {
 }

 sub completion_helper {
-    my ($options) = @_;
+    my ($original_opts) = @_;
     my @send_email_opts = map {
       "--$_"
     } map {
       s/(?:[:=][si]|!)$//;
-      split /\|/, $_;
-    } keys %$options;
+      split /\|/;
+    } keys %$original_opts;
     my @format_patch_opts = Git::command('format-patch', '--git-completion-helper');
     my @options = uniq @send_email_opts, @format_patch_opts;
     @options = grep !/--git-completion-helper|--h/, @options;

might help on top

Carlo

  reply	other threads:[~2021-10-09  6:38 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-20  0:46 [PATCH v2 0/3] send-email: shell completion improvements Thiago Perrotta
2021-08-20  0:46 ` [PATCH v2 1/3] send-email: print newline for --git-completion-helper Thiago Perrotta
2021-08-20 20:17   ` Junio C Hamano
2021-08-28  3:08     ` [PATCH v3 0/3] send-email: shell completion improvements Thiago Perrotta
2021-08-28  3:08     ` [PATCH v3 1/3] send-email: terminate --git-completion-helper with LF Thiago Perrotta
2021-08-28  3:08     ` [PATCH v3 2/3] send-email: move bash completions to core script Thiago Perrotta
2021-08-28  5:25       ` Carlo Arenas
2021-09-07  0:16         ` [PATCH] " Thiago Perrotta
2021-09-07  1:28           ` Carlo Arenas
2021-09-21 15:51             ` [PATCH v4 0/3] send-email: shell completion improvements Thiago Perrotta
2021-09-21 15:51               ` [PATCH v4 1/3] send-email: terminate --git-completion-helper with LF Thiago Perrotta
2021-09-21 15:51               ` [PATCH v4 2/3] send-email: move bash completions to core script Thiago Perrotta
2021-09-21 15:51               ` [PATCH v4 3/3] send-email docs: add format-patch options Thiago Perrotta
2021-09-23 14:02               ` [PATCH v4 0/3] send-email: shell completion improvements Ævar Arnfjörð Bjarmason
2021-09-24  2:46                 ` [PATCH v5 " Thiago Perrotta
2021-09-24 20:02                   ` Ævar Arnfjörð Bjarmason
2021-09-30  3:10                     ` Thiago Perrotta
2021-10-07  3:36                       ` [PATCH v6 " Thiago Perrotta
2021-10-07  3:36                       ` [PATCH v6 1/3] send-email: terminate --git-completion-helper with LF Thiago Perrotta
2021-10-07  3:36                       ` [PATCH v6 2/3] send-email: programmatically generate bash completions Thiago Perrotta
2021-10-09  6:38                         ` Carlo Marcelo Arenas Belón [this message]
2021-10-11  4:10                           ` [PATCH v7 0/3] send-email: shell completion improvements Thiago Perrotta
2021-10-11 13:46                             ` Ævar Arnfjörð Bjarmason
2021-10-11 17:12                               ` [DRAFT/WIP PATCH] send-email: programmatically generate bash completions Thiago Perrotta
2021-10-25 21:27                               ` [PATCH v8 0/2] send-email: shell completion improvements Thiago Perrotta
2021-10-25 22:44                                 ` Ævar Arnfjörð Bjarmason
2021-10-26  0:48                                   ` Ævar Arnfjörð Bjarmason
2021-10-28 16:31                                     ` Junio C Hamano
2021-10-25 21:27                               ` [PATCH v8 1/2] send-email: programmatically generate bash completions Thiago Perrotta
2021-10-25 21:27                               ` [PATCH v8 2/2] send-email docs: add format-patch options Thiago Perrotta
2021-10-11  4:10                           ` [PATCH v7 1/3] send-email: terminate --git-completion-helper with LF Thiago Perrotta
2021-10-11  4:10                           ` [PATCH v7 2/3] send-email: programmatically generate bash completions Thiago Perrotta
2021-10-11  4:10                           ` [PATCH v7 3/3] send-email docs: add format-patch options Thiago Perrotta
2021-10-07  3:36                       ` [PATCH v6 " Thiago Perrotta
2021-10-09  8:31                         ` [RFC PATCH] Documentation: better document format-patch options in send-email Carlo Marcelo Arenas Belón
2021-10-09  8:57                           ` Bagas Sanjaya
2021-10-09  9:32                             ` Carlo Arenas
2021-10-09 11:04                               ` Bagas Sanjaya
2021-10-10 21:33                               ` Junio C Hamano
2021-09-24  2:46                 ` [PATCH v5 1/3] send-email: terminate --git-completion-helper with LF Thiago Perrotta
2021-09-24  2:46                 ` [PATCH v5 2/3] send-email: programmatically generate bash completions Thiago Perrotta
2021-09-24  2:46                 ` [PATCH v5 3/3] send-email docs: add format-patch options Thiago Perrotta
2021-09-24  4:36                   ` Bagas Sanjaya
2021-09-24  4:53                     ` Carlo Arenas
2021-09-24  6:19                       ` Bagas Sanjaya
2021-09-24  6:56                         ` Carlo Arenas
2021-09-24 15:33                       ` Junio C Hamano
2021-09-24 17:34                         ` Carlo Arenas
2021-09-24 20:03                           ` Junio C Hamano
2021-09-25  3:03                             ` Bagas Sanjaya
2021-09-25  4:07                               ` Junio C Hamano
2021-09-25  6:13                                 ` Carlo Marcelo Arenas Belón
2021-09-29 21:20                                   ` Junio C Hamano
2021-08-28  3:08     ` [PATCH v3 " Thiago Perrotta
2021-08-28  5:22       ` Bagas Sanjaya
2021-08-20  0:46 ` [PATCH v2 2/3] send-email: move bash completions to the perl script Thiago Perrotta
2021-08-20  0:46 ` [PATCH v2 3/3] send-email docs: mention format-patch options Thiago Perrotta
2021-08-20 20:32   ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YWE41xTLhBFWqUFl@carlos-mbp.lan \
    --to=carenas@gmail.com \
    --cc=avarab@gmail.com \
    --cc=bagasdotme@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=tbperrotta@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).