88 lines
3.2 KiB
Bash
88 lines
3.2 KiB
Bash
# /usr/share/bash-completion/completions/debchange
|
||
# Bash command completion for ‘debchange(1)’.
|
||
# Documentation: ‘bash(1)’, section “Programmable Completion”.
|
||
|
||
_debchange()
|
||
{
|
||
local cur prev options
|
||
|
||
COMPREPLY=()
|
||
cur=${COMP_WORDS[COMP_CWORD]}
|
||
prev=${COMP_WORDS[COMP_CWORD-1]}
|
||
options='-a --append -i --increment -v --newversion -e --edit\
|
||
-r --release --force-save-on-release --no-force-save-on-release\
|
||
--create --empty --package --auto-nmu --no-auto-nmu -n --nmu --lts\
|
||
--bin-nmu -q --qa -R --rebuild -s --security --team -U --upstream\
|
||
--bpo --stable -l --local -b --force-bad-version --allow-lower-version\
|
||
--force-distribution --closes --noquery --query -d --fromdirname\
|
||
-p --preserve --no-preserve --vendor -D --distribution\
|
||
-u --urgency -c --changelog --news --nomultimaint --multimaint\
|
||
--nomultimaint-merge --multimaint-merge -m --maintmaint\
|
||
-M --controlmaint -t --mainttrailer --check-dirname-level\
|
||
--check-dirname-regex --no-conf --noconf --release-heuristic\
|
||
--help -h --version'
|
||
|
||
#--------------------------------------------------------------------------
|
||
#FIXME: I don't want hard-coding codename...
|
||
#--------------------------------------------------------------------------
|
||
oldstable_codename='bullseye'
|
||
stable_codename='bookworm'
|
||
testing_codename='trixie'
|
||
|
||
distro="oldstable-security oldstable-proposed-updates\
|
||
"$oldstable_codename"-security\
|
||
"$oldstable_codename"-backports\
|
||
"$oldstable_codename"-backports-sloppy\
|
||
stable-security stable-proposed-updates\
|
||
"$stable_codename"-security\
|
||
"$stable_codename"-backports\
|
||
"$stable_codename"-updates\
|
||
testing-security testing-proposed-updates\
|
||
"$testing_codename"-security\
|
||
unstable experimental"
|
||
|
||
urgency='low medium high critical'
|
||
|
||
case $prev in
|
||
--changelog | -c | --news)
|
||
COMPREPLY=( $( compgen -G "${cur}*" ) )
|
||
;;
|
||
--check-dirname-level)
|
||
COMPREPLY=( $( compgen -W [0 1 2] ) )
|
||
;;
|
||
#FIXME: we need "querybts --list" option with no verbose output
|
||
# --closes)
|
||
# package=`dpkg-parsechangelog -SSource`
|
||
# bugnumber=`querybts --list -b $package|grep ^#|cut -d' ' -f1`
|
||
# COMPREPLY=( $( compgen -W "$bugnumber" ) )
|
||
# ;;
|
||
-D | --distribution)
|
||
COMPREPLY=( $( compgen -W "$distro" ) )
|
||
;;
|
||
--newversion | -v | --package | --local | -l | --allow-lower-version)
|
||
;;
|
||
--release-heuristic)
|
||
COMPREPLY=( $( compgen -W 'log changelog' ) )
|
||
;;
|
||
-u | --urgency)
|
||
COMPREPLY=( $( compgen -W "$urgency" ) )
|
||
;;
|
||
*)
|
||
COMPREPLY=( $(
|
||
compgen -W "$options" | grep "^$cur"
|
||
) )
|
||
;;
|
||
esac
|
||
|
||
return 0
|
||
|
||
}
|
||
complete -F _debchange debchange dch
|
||
|
||
|
||
# Local variables:
|
||
# coding: utf-8
|
||
# mode: shell-script
|
||
# indent-tabs-mode: nil
|
||
# End:
|
||
# vim: fileencoding=utf-8 filetype=sh expandtab shiftwidth=4 :
|