diff options
Diffstat (limited to 'Completion/Unix')
-rw-r--r-- | Completion/Unix/Command/_git | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/Completion/Unix/Command/_git b/Completion/Unix/Command/_git index 5d4a181e2..25d446869 100644 --- a/Completion/Unix/Command/_git +++ b/Completion/Unix/Command/_git @@ -1702,11 +1702,22 @@ _git-grep () { (( $+functions[_git-log] )) || _git-log () { + local curcontext=$curcontext state line + declare -A opt_args + __git_setup_revision_arguments _arguments -S \ $revision_arguments \ - '*:file:__git_cached_files' && ret=0 + '*:file-or-branch:->files' && ret=0 + + case $state in + (files) + _alternative \ + 'files:index file:__git_cached_files' \ + 'branches:branch:__git_branch_names' && ret=0 + ;; + esac } # TODO: repository needs fixing |