Re: [PATCH 2/2] git-gui: add hotkey to toggle "Amend Last Commit" check button/menu
- From
Pratyush Yadav <me@yadavpratyush.com>
- Date
- Sep 11, 2019, 20:55 UTC
- Message-ID
- <20190911205539.vb6asqcc22nzgdqa@yadavpratyush.com>
- In-Reply-To
- <b82a00441ff1a6a9cea3fd235c1c33729ec31b71.1567713659.git.bert.wesarg@googlemail.com>
Birger,
Please ignore the two emails I sent about basing your work on top of Bert's. I see that you have already done so (or maybe Bert did it, I don't know), and I was reading an older version of the patch.
On 05/09/19 10:09PM, Bert Wesarg wrote:
Show 26 quoted lines
> From: Birger Skogeng Pedersen <birger.sp@gmail.com>
>
> Selecting whether to "Amend Last Commit" or not does not have a hotkey.
>
> With this patch, the user may toggle between the two options with
> CTRL/CMD+e.
>
> Signed-off-by: Birger Skogeng Pedersen <birger.sp@gmail.com>
> Rebased-by: Bert Wesarg <bert.wesarg@googlemail.com>
> ---
> git-gui.sh | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/git-gui.sh b/git-gui.sh
> index 80a07d5..8b776dd 100755
> --- a/git-gui.sh
> +++ b/git-gui.sh
> @@ -2640,6 +2640,12 @@ proc show_less_context {} {
> }
> }
>
> +proc toggle_commit_type {} {
> + global commit_type_is_amend
> + set commit_type_is_amend [expr !$commit_type_is_amend]
> + do_select_commit_type
> +}Ah! So we had almost exactly the same thought process. This is pretty much what I suggested in my other email ;)
Show 17 quoted lines
> +
> ######################################################################
> ##
> ## ui construction
> @@ -2830,6 +2836,7 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
> if {![is_enabled nocommit]} {
> .mbar.commit add checkbutton \
> -label [mc "Amend Last Commit"] \
> + -accelerator $M1T-E \
> -variable commit_type_is_amend \
> -command do_select_commit_type
> lappend disable_on_lock \
> @@ -3825,6 +3832,7 @@ bind . <$M1B-Key-equal> {show_more_context;break}
> bind . <$M1B-Key-plus> {show_more_context;break}
> bind . <$M1B-Key-KP_Add> {show_more_context;break}
> bind . <$M1B-Key-Return> do_commit
> +bind . <$M1B-Key-e> toggle_commit_typeNitpick: Please move this up with the binds for other letters (u, j, etc)
Also, I notice that the bindings for other letters have the same function bound for both small and capital letters (IOW, same behavior with shift held and released).
I don't necessarily think that is a great idea. It is a pretty common pattern to have, say Ctrl+a, do something, and Ctrl+Shift+a, do something else. Just want to pick your brain on whether you think we should do the same thing for both Ctrl+e and for Ctrl+E (aka Ctrl+Shift+e), or just bind it to Ctrl+e, and leave Ctrl+E for something else.
> foreach i [list $ui_index $ui_workdir] {
> bind $i <Button-1> { toggle_or_diff click %W %x %y; break }
> bind $i <$M1B-Button-1> { add_one_to_selection %W %x %y; break }Overall, the patch LGTM apart from a couple of nitpicks above. Thanks.
-- Regards, Pratyush Yadav