Signed-off-by: Thomas Braun <thomas.br...@virtuell-zuhause.de>
---
 contrib/completion/git-completion.bash | 55 ++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)

diff --git a/contrib/completion/git-completion.bash 
b/contrib/completion/git-completion.bash
index addea89..fa7a03a 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1782,6 +1782,61 @@ _git_stage ()
        _git_add
 }
 
+_git_status ()
+{
+       local complete_opt
+       local untracked_state
+
+       case "$cur" in
+       --ignore-submodules=*)
+               __gitcomp "none untracked dirty all" "" 
"${cur##--ignore-submodules=}"
+               return
+               ;;
+       --untracked-files=*)
+               __gitcomp "$__git_untracked_file_modes" "" 
"${cur##--untracked-files=}"
+               return
+               ;;
+       --column=*)
+               __gitcomp "
+                       always never auto column row plain dense nodense
+                       " "" "${cur##--column=}"
+               return
+               ;;
+       --*)
+               __gitcomp "
+                       --short --branch --porcelain --long --verbose
+                       --untracked-files= --ignore-submodules= --ignored
+                       --column= --no-column
+                       "
+               return
+               ;;
+       esac
+
+       untracked_state="$(__git_find_on_cmdline "--untracked-files=no\
+               --untracked-files=normal --untracked-files=all")"
+       untracked_state=${untracked_state##--untracked-files=}
+
+       if [ -z "$untracked_state" ]; then
+               untracked_state="$(git --git-dir="$(__gitdir)" config 
"status.showUntrackedFiles")"
+       fi
+
+       case "$untracked_state" in
+               no)
+                       # --ignored option does not matter
+                       complete_opt=
+                       ;;
+               all|normal|*)
+                       complete_opt="--cached --directory --no-empty-directory 
--others"
+
+                       if [ -n "$(__git_find_on_cmdline "--ignored")" ]; then
+                               complete_opt="$complete_opt --ignored 
--exclude=*"
+                       fi
+                       ;;
+       esac
+
+       __git_complete_index_file "$complete_opt"
+}
+
 __git_config_get_set_variables ()
 {
        local prevword word config_file= c=$cword
-- 
2.8.3.windows.1



--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to