From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: "Eric Sunshine" <sunshine@sunshineco.com>,
git@vger.kernel.org, "SZEDER Gábor" <szeder.dev@gmail.com>
Subject: [PATCH v2 0/6] completion: improve completion for 'git worktree'
Date: Thu, 19 Dec 2019 16:09:15 +0100 [thread overview]
Message-ID: <20191219150921.5889-1-szeder.dev@gmail.com> (raw)
In-Reply-To: <20191017173501.3198-1-szeder.dev@gmail.com>
Complete paths of working trees and refs for 'git worktree's various
subcommands.
The last two patches do the actual improvements, the first four are
preparatory steps.
Changes since v1:
- Added an in-code comment and clarified the commit message of patch
5/6.
v1: https://public-inbox.org/git/20191017173501.3198-1-szeder.dev@gmail.com/T/#u
SZEDER Gábor (6):
t9902-completion: add tests for the __git_find_on_cmdline() helper
completion: clean up the __git_find_on_cmdline() helper function
completion: return the index of found word from
__git_find_on_cmdline()
completion: simplify completing 'git worktree' subcommands and options
completion: list existing working trees for 'git worktree' subcommands
completion: list paths and refs for 'git worktree add'
contrib/completion/git-completion.bash | 119 +++++++++++++++++++------
t/t9902-completion.sh | 57 ++++++++++++
2 files changed, 150 insertions(+), 26 deletions(-)
Range-diff against v1:
1: bd68b0b64b = 1: b370a97edc t9902-completion: add tests for the __git_find_on_cmdline() helper
2: b5c0312db6 = 2: fb8f1e4840 completion: clean up the __git_find_on_cmdline() helper function
3: 6999b0b8e2 = 3: 47aecb9ac0 completion: return the index of found word from __git_find_on_cmdline()
4: dd38374f2f = 4: 00c5a0f7df completion: simplify completing 'git worktree' subcommands and options
5: 619ff7021c ! 5: 2e4b1b3931 completion: list existing working trees for 'git worktree' subcommands
@@ Commit message
Never list the path of the main working tree, as it cannot be moved,
removed, locked, or unlocked.
- Arguably 'git worktree unlock <TAB>' should only complete locked
- working trees, but 'git worktree list --porcelain' doesn't indicate
- which working trees are locked. So for now it will complete the paths
- of all existing working trees, including non-locked ones as well.
+ Ideally we would only list unlocked working trees for the 'move',
+ 'remove', and 'lock' subcommands, and only locked ones for 'unlock'.
+ Alas, 'git worktree list --porcelain' doesn't indicate which working
+ trees are locked, so for now we'll complete the paths of all existing
+ working trees.
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
@@ contrib/completion/git-completion.bash: _git_whatchanged ()
+{
+ local IFS=$'\n'
+ __gitcomp_nl "$(git worktree list --porcelain |
++ # Skip the first entry: it's the path of the main worktree,
++ # which can't be moved, removed, locked, etc.
+ sed -n -e '2,$ s/^worktree //p')"
+}
+
6: 29a32e5d36 = 6: 16a9b5f4b2 completion: list paths and refs for 'git worktree add'
--
2.24.1.982.ga4d4aba446
next prev parent reply other threads:[~2019-12-19 15:09 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-17 17:34 [PATCH 0/6] completion: improve completion for 'git worktree' SZEDER Gábor
2019-10-17 17:34 ` [PATCH 1/6] t9902-completion: add tests for the __git_find_on_cmdline() helper SZEDER Gábor
2019-10-17 17:34 ` [PATCH 2/6] completion: clean up the __git_find_on_cmdline() helper function SZEDER Gábor
2019-10-17 17:34 ` [PATCH 3/6] completion: return the index of found word from __git_find_on_cmdline() SZEDER Gábor
2019-10-17 17:52 ` Eric Sunshine
2019-10-18 14:37 ` SZEDER Gábor
2019-10-18 21:01 ` Eric Sunshine
2019-12-19 14:39 ` SZEDER Gábor
2019-12-19 14:44 ` SZEDER Gábor
2019-10-17 17:34 ` [PATCH 4/6] completion: simplify completing 'git worktree' subcommands and options SZEDER Gábor
2019-10-17 17:35 ` [PATCH 5/6] completion: list existing working trees for 'git worktree' subcommands SZEDER Gábor
2019-10-17 18:08 ` Eric Sunshine
2019-10-18 15:00 ` SZEDER Gábor
2019-10-18 20:45 ` Eric Sunshine
2019-10-17 17:35 ` [PATCH 6/6] completion: list paths and refs for 'git worktree add' SZEDER Gábor
2019-12-19 15:09 ` SZEDER Gábor [this message]
2019-12-19 15:09 ` [PATCH v2 1/6] t9902-completion: add tests for the __git_find_on_cmdline() helper SZEDER Gábor
2019-12-19 15:09 ` [PATCH v2 2/6] completion: clean up the __git_find_on_cmdline() helper function SZEDER Gábor
2019-12-19 15:09 ` [PATCH v2 3/6] completion: return the index of found word from __git_find_on_cmdline() SZEDER Gábor
2019-12-19 15:09 ` [PATCH v2 4/6] completion: simplify completing 'git worktree' subcommands and options SZEDER Gábor
2019-12-19 15:09 ` [PATCH v2 5/6] completion: list existing working trees for 'git worktree' subcommands SZEDER Gábor
2019-12-19 15:09 ` [PATCH v2 6/6] completion: list paths and refs for 'git worktree add' SZEDER Gábor
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191219150921.5889-1-szeder.dev@gmail.com \
--to=szeder.dev@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=sunshine@sunshineco.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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.