113 lines
4.1 KiB
Bash
113 lines
4.1 KiB
Bash
# /usr/share/bash-completion/completions/debuild
|
||
# Bash command completion for ‘debuild(1)’.
|
||
# Documentation: ‘bash(1)’, section “Programmable Completion”.
|
||
|
||
# Copyright © 2015, Nicholas Bamber <nicholas@periapt.co.uk>
|
||
|
||
_debuild()
|
||
{
|
||
local cur prev words cword i _options special _prefix
|
||
_init_completion || return
|
||
|
||
for (( i=${#words[@]}-1; i > 0; i-- )); do
|
||
if [[ ${words[i]} == @(binary|binary-arch|binary-indep|clean|--lintian-opts) ]]; then
|
||
special=${words[i]}
|
||
break
|
||
fi
|
||
done
|
||
|
||
if [[ -n $special ]]; then
|
||
|
||
case $special in
|
||
--lintian-opts)
|
||
case $prev in
|
||
--include-dir)
|
||
COMPREPLY=( $( compgen -o filenames -d -- "$cur" ) )
|
||
return 0
|
||
;;
|
||
--tags-from-file|--cfg|--suppress-tags-from-file)
|
||
COMPREPLY=( $( compgen -o filenames -f -- "$cur" ) )
|
||
return 0
|
||
;;
|
||
--color)
|
||
COMPREPLY=( $( compgen -W 'never always auto html' -- "$cur" ) )
|
||
return 0
|
||
;;
|
||
--display-source)
|
||
COMPREPLY=( $( compgen -W 'policy devref' -- "$cur" ) )
|
||
return 0
|
||
;;
|
||
esac
|
||
COMPREPLY=( $( compgen -W '-C --ftp-master-rejects --tags --tags-from-file --color --default-display-level --display-source --display-experimental --no-display-experimental --fail-on-warnings --info --display-info --no-override --pedantic --show-overrides --suppress-tags --suppress-tags-from-file --cfg --no-cfg --ignore-lintian-env --include-dir' -- "$cur" ) )
|
||
return 0
|
||
;;
|
||
*)
|
||
COMPREPLY=( $( compgen -W 'binary binary-arch binary-indep clean' -- "$cur" ) )
|
||
return 0
|
||
;;
|
||
esac
|
||
fi
|
||
|
||
case $prev in
|
||
--rootcmd)
|
||
_options=
|
||
for i in fakeroot super sudo
|
||
do
|
||
which $i > /dev/null && _options+=" ${i}"
|
||
done
|
||
COMPREPLY=( $( compgen -W "${_options}" -- "$cur" ) )
|
||
return 0
|
||
;;
|
||
--preserve-envvar)
|
||
COMPREPLY=( $( compgen -o nospace -e -- "$cur" ) )
|
||
return 0
|
||
;;
|
||
--set-envvar)
|
||
COMPREPLY=( $( compgen -o nospace -e -S'=' -- "$cur" ) )
|
||
return 0
|
||
;;
|
||
--prepend-path|--admindir)
|
||
COMPREPLY=( $( compgen -o filenames -d -- "$cur" ))
|
||
return 0
|
||
;;
|
||
--check-dirname-level)
|
||
COMPREPLY=( $( compgen -W '0 1 2' -- "$cur" ) )
|
||
return 0
|
||
;;
|
||
-j)
|
||
COMPREPLY=( $( compgen -W 'auto 1 2 3 4 5 6' -- "$cur" ) )
|
||
return 0
|
||
;;
|
||
esac
|
||
|
||
if [[ "$cur" == -* ]]; then
|
||
_options='--preserve-envvar --set-envvar --rootcmd --preserve-env
|
||
--prepend-path --lintian --no-lintian --no-tgz-check --tgz-check
|
||
--username --clear-hooks --check-dirname-level --check-dirname-regex -d
|
||
-D --dpkg-buildpackage-hook --clean-hook --dpkg-source-hook
|
||
--dpkg-build-hook --dpkg-binary-hook --dpkg-genchanges-hook
|
||
--final-clean-hook --lintian-hook signing-hook
|
||
post-dpkg-buildpackage-hook --lintian-opts -g -G -b -B -A -S -F -si -sa
|
||
-sd -v -C -m -e -a --host-type --target-arch --target-type -P -j -D -d
|
||
-nc -tc --admindir --changes-options --source-options -z -Z -i -I -sn
|
||
-ss -sA -sk -su -sr -sK -sU -sR --force-sign -us -uc -k -p
|
||
--check-option --check-command -R -r'
|
||
if [[ "$prev" == debuild ]]; then
|
||
_options+=' --no-conf'
|
||
fi
|
||
COMPREPLY=( $( compgen -W "${_options}" -- "$cur" ) )
|
||
else
|
||
COMPREPLY=( $( compgen -W 'binary binary-arch binary-indep clean' -- "$cur" ) )
|
||
fi
|
||
|
||
return 0
|
||
} &&
|
||
complete -F _debuild debuild
|
||
|
||
|
||
# Local variables:
|
||
# coding: utf-8
|
||
# mode: shell-script
|
||
# indent-tabs-mode: nil
|
||
# End:
|
||
# vim: fileencoding=utf-8 filetype=sh expandtab shiftwidth=4 :
|