completion: list paths and refs for 'git worktree add'
commit7d5ecd775de33878f00055e0024a003ab4edfbce
authorSZEDER Gábor <szeder.dev@gmail.com>
Thu, 19 Dec 2019 15:09:21 +0000 (19 16:09 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 15 Jan 2020 22:06:13 +0000 (15 14:06 -0800)
treec939f792514b209b9b1bec7dd70ea700115c0a5e
parent3027e4f9a8210944e6157aadc52aba58a2182398
completion: list paths and refs for 'git worktree add'

Complete paths after 'git worktree add <TAB>' and refs after 'git
worktree add -b <TAB>' and 'git worktree add some/dir <TAB>'.

Uncharacteristically for a Git command, 'git worktree add' takes a
mandatory path parameter before a commit-ish as its optional last
parameter.  In addition, it has both standalone --options and options
with a mandatory unstuck parameter ('-b <new-branch>').  Consequently,
trying to complete refs for that last optional commit-ish parameter
resulted in a more convoluted than usual completion function, but
hopefully all the included comments will make it not too hard to
digest.

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-completion.bash