{"thread":{"id":"26987","subject":"[PATCH] git-completion: Add support for git submodule options","startedAt":"2011-04-04T11:15:33Z","lastAt":"2011-04-04T11:15:33Z","messageCount":1,"participants":["Nicolas Morey-Chaisemartin"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"165108","messageId":"4D99A855.1050605@morey-chaisemartin.com","threadId":"26987","inReplyTo":null,"subject":"[PATCH] git-completion: Add support for git submodule options","fromName":"Nicolas Morey-Chaisemartin","fromEmail":"devel-git@morey-chaisemartin.com","sentAt":"2011-04-04T11:15:33Z","receivedAt":"2011-04-04T11:15:33Z","isPatch":true,"sender":{"key":"devel-git@morey-chaisemartin.com","avatar":"https://avatars.githubusercontent.com/u/108326?v=4"},"body":"Completion for git submodule only handled subcommands.\nAdd support for options of each subcommand\n\nSigned-off-by: Nicolas Morey-Chaisemartin <nicolas@morey-chaisemartin.com>\n---\n contrib/completion/git-completion.bash |   38 +++++++++++++++++++++++++++++++-\n 1 files changed, 37 insertions(+), 1 deletions(-)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 840ae38..a7040e1 100755\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -2546,7 +2546,8 @@ _git_submodule ()\n \t__git_has_doubledash && return\n \n \tlocal subcommands=\"add status init update summary foreach sync\"\n-\tif [ -z \"$(__git_find_on_cmdline \"$subcommands\")\" ]; then\n+\tlocal subcommand=\"$(__git_find_on_cmdline \"$subcommands\")\"\n+\tif [ -z \"$subcommand\" ]; then\n \t\tlocal cur\n \t\t_get_comp_words_by_ref -n =: cur\n \t\tcase \"$cur\" in\n@@ -2558,6 +2559,41 @@ _git_submodule ()\n \t\t\t;;\n \t\tesac\n \t\treturn\n+\telse\n+\t    local add_opts=\"--branch= --force --reference=\"\n+\t    local status_opts=\"--cached --recursive\"\n+\t    local update_opts=\"--init --no-fetch --rebase --reference= --merge --recursive\"\n+\t    local summary_opts=\"--cached --files --summary-limit=\"\n+\t    local foreach_opts=\"--recursive\"\n+\n+\t    local cur\n+\t    _get_comp_words_by_ref -n =: cur\n+\t    case \"$subcommand,$cur\" in\n+\t\t add,--*)\n+\t\t     __gitcomp \"$add_opts\"\n+\t\t     ;;\n+\t\t status,--*)\n+\t\t     __gitcomp \"$status_opts\"\n+\t\t     ;;\n+\t\t update,--*)\n+\t\t     __gitcomp \"$update_opts\"\n+\t\t     ;;\n+\t\t summary,--*)\n+\t\t     __gitcomp \"$summary_opts\"\n+\t\t     ;;\n+\t\t summary,*)\n+\t\t     __gitcomp \"$(__git_refs)\"\n+\t\t     ;;\n+\t\t foreach,--*)\n+\t\t     __gitcomp \"$foreach_opts\"\n+\t\t     ;;\n+\t\t sync,*)\n+\t\t     COMPREPLY=()\n+\t\t     ;;\n+\t\t *)\n+\t\t     COMPREPLY=()\n+\t\t     ;;\n+\t    esac \n \tfi\n }\n \n"}]}