From: David Cantrell via GitGitGadget Date: Tue, 15 Mar 2022 00:52:26 GMT Subject: [PATCH v2 1/2] tab completion of filenames for 'git restore' Message-ID: <2bb8f1cb1c4072bed544baa34451ed0093e2f007.1647305547.git.gitgitgadget@gmail.com> In-Reply-To: From: David Cantrell If no --args are present after 'git restore' it assumes that you want to tab-complete one of the files with uncommitted changes Signed-off-by: David Cantrell --- contrib/completion/git-completion.bash | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 49a328aa8a4..7ccad8ff4b1 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -2883,14 +2883,21 @@ _git_restore () case "$cur" in --conflict=*) __gitcomp "diff3 merge zdiff3" "" "${cur##--conflict=}" + return ;; --source=*) __git_complete_refs --cur="${cur##--source=}" + return ;; --*) __gitcomp_builtin restore + return ;; esac + + if __git rev-parse --verify --quiet HEAD >/dev/null; then + __git_complete_index_file "--committable" + fi } __git_revert_inprogress_options=$__git_sequencer_inprogress_options -- gitgitgadget