[Buildd-tools-devel] Bug#519745: Bug#519745: schroot: Add bash completion script

Tim Abbott tabbott at MIT.EDU
Sat Mar 21 14:55:13 UTC 2009


On Sat, 21 Mar 2009, Roger Leigh wrote:

> On Sat, Mar 14, 2009 at 03:41:03PM -0400, Tim Abbott wrote:
> 
> > I wrote a bash_completion script for schroot (attached); it completes on 
> > both option names and chroot names (after the -c argument).
> 
> Many thanks!  I'll be happy to include this.  While it has a
> copyright statement, it doesn't have any licence attached,
> which precludes distribution.  If you are happy for this to
> be distributed under the GPLv3+, please could you include the
> appropriate GPL boilerplate text?

Yeah, sure.  I think I left this off because I felt silly posting a file 
that's more than 1/2 copyright notice, but you're probably right that I 
should include it.  New file with boilerplate attached.

By the way, it currently is the case that when new options are added to 
schroot, they need to be added to the list of options in the completion 
script for them to complete; I just wanted to make sure you were aware of 
this.

	-Tim Abbott
-------------- next part --------------
# Debian GNU/Linux schroot(1) completion.
# Copyright ? 2009 Tim Abbott <tabbott at mit.edu>
#
# schroot 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.
#
# schroot 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/>.

have schroot &&
_schroot()
{
    local cur prev options

    COMPREPLY=()
    cur=${COMP_WORDS[COMP_CWORD]}
    prev=${COMP_WORDS[COMP_CWORD-1]}
    # Options should probably be autogenerated from the schroot build
    # system, but using the current list is probably fine for now.
    options="--help --version --list --info --config --location --quiet --verbose --chroot --all --all-chroots --all-sessions --directory --user --preserve-environment --automatic-session --begin-session --recover-session --run-session --end-session --session-name --force -h -V -l -i -q -v -c -a -d -u -p -b -r -e -n -f"

    if [ "$prev" = "-c" ]; then
	COMPREPLY=( $(compgen -W "$(schroot -a -l)" -- $cur) )
    else
	COMPREPLY=( $(compgen -W "$options" -- $cur) )
    fi
    return 0
}
complete -F _schroot schroot


More information about the Buildd-tools-devel mailing list