1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
# (C) 2011-2025 magicant
# Completion script for the "git-status" command.
# Supports Git 2.48.1.
function completion/git-status {
WORDS=(git status "${WORDS[2,-1]}")
command -f completion//reexecute
}
function completion/git::status:arg {
OPTIONS=( #>#
"--ahead-behind; show the number of commits ahead/behind the remote branch"
"b --branch; print the current branch"
"--column::; columnize output"
"--find-renames::; detect renames"
"--ignored::; print ignored files as well"
"--ignore-submodules::; ignore changes to submodules"
"--long --no-short; print in the long format"
"--no-ahead-behind; don't show the number of commits ahead/behind the remote branch"
"--no-column; print files line by line"
"--no-renames; don't show renamed files"
"--porcelain::; print in the machine-friendly format"
"--renames; show renamed files"
"s --short; print in the short format"
"--show-stash; show the stash entry count"
"u:: --untracked-files::; print untracked files"
"v --verbose; show the diff of uncommitted changes"
"z; print a null byte after each filename"
) #<#
command -f completion//parseoptions -n
case $ARGOPT in
(-)
command -f completion//completeoptions
;;
(--column)
command -f completion/git::--column:arg
;;
(--ignored) #>>#
complete -P "$PREFIX" -D "show all ignored files recursively" traditional
complete -P "$PREFIX" -D "don't show ignored files" no
complete -P "$PREFIX" -D "show files matching an ignore pattern" matching
;; #<<#
(--ignore-submodules)
command -f completion/git::--ignore-submodules:arg
;;
(--porcelain)
complete -P "$PREFIX" v1 v2
;;
(u|--untracked-files)
command -f completion/git::--untracked-files:arg
;;
('')
complete -P "$PREFIX" -f
;;
esac
}
# vim: set ft=sh ts=8 sts=8 sw=8 et:
|