diff options
Diffstat (limited to 'bash')
-rw-r--r-- | bash/multistrap | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/bash/multistrap b/bash/multistrap new file mode 100644 index 0000000..b3ec112 --- /dev/null +++ b/bash/multistrap @@ -0,0 +1,44 @@ +# bash completion support +# +# Copyright (C) 2009 Neil Williams <codehelp@debian.org> +# +# This package is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +_get_dpkg_cross_list() +{ + grep Choices: /var/lib/dpkg/info/dpkg-cross.templates \ + | cut -d':' -f2 | sed -e 's/None, //' | sed -e 's/,//g' +} + +_multistrap() +{ + local cur prev opts cmds help dir arch quiet + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + help="-h -? --help --version " + arch="-a --arch --source-dir --tidy-up " + opts="-f --file --no-auth --dry-run --simulate " + dir="-d --directory " + case "$prev" in + -@(a|-arch)) + COMPREPLY=( $( _get_dpkg_cross_list $cur ) ) + ;; + *) + COMPREPLY=( $(compgen -W "${arch}${help}${opts}${dir}${cmds}" -- ${cur}) ) + ;; + esac +} +complete -F _multistrap -o default multistrap |