Package: bzr-bash-completion
This script generates a shell function which can be used by bash to
automatically complete the currently typed command when the user
presses the completion key (usually tab).It is intended as a bzr plugin, but can be used to some extend as a
standalone python script as well.Copyright (C) 2009, 2010 Martin von Gagern <Martin.vGagern@gmx.net>ContentsInstallingInstalling from bzr repositoryInstalling using easy_installInstalling from tarballUsingUsing as a pluginLazy initializationUsing as a scriptDesign conceptLicenseInstallingYou only need to do this if you want to use the script as a bzr
plugin.  Otherwise simply grab the bashcomp.py and place it wherever
you want.Installing from bzr repositoryTo check out the current code from launchpad, use the following commands:mkdir -p ~/.bazaar/plugins
cd ~/.bazaar/plugins
bzr checkout lp:bzr-bash-completion bash_completionTo update such an installation, execute this command:bzr update ~/.bazaar/plugins/bash_completionInstalling using easy_installThe following command should install the latest release of the plugin
on your system:easy_install bzr-bash-completionTo use this method, you need to haveEasy Installinstalled and
also have write access to the required directories. So maybe you
should execute this command as root or throughsudo. Or you want toinstall to a different location.Installing from tarballIf you have grabbed a source code tarball, or want to install from a
bzr checkout in a different place than your bazaar plugins directory,
then you should use thesetup.pyscript shipped with the code:./setup.py installIf you want to install the plugin only for your own user account, you
might wish to pass the option--useror--home=$HOMEto that
command. For further information please read the manuals ofdistutilsas well assetuptoolsordistribute, whatever is available on your
system, or have a look at the command line help:./setup.py install --helpUsingUsing as a pluginThis is the preferred method of generating the completion function, as
it will ensure proper bzr initialization.eval "`bzr bash-completion`"Lazy initializationRunning the above command automatically from your~/.bashrcfile
or similar can cause annoying delays in the startup of your shell.
To avoid this problem, you can delay the generation of the completion
function until you actually need it.To do so, source the filelazy.shshipped with this package from
your~/.bashrcfile or add it to your~/.bash_completionif
your setup uses such a file. On a system-wide installation, the
directory/usr/share/bash-completion/might contain such bash
completion scripts.If you installed bzr-bash-completion from the repository or a source
tarball, you find thelazy.shscript in the root of the source
tree. If you installed the plugin using easy_install, you should grab
the script manually from the bzr repository, e.g. through the bazaar
web interface on launchpad.Note that the full completion function is generated only once per
shell session. If you update your bzr installation or change the set
of installed plugins, then you might wish to regenerate the completion
function manually as described above in order for completion to take
these changes into account.Using as a scriptAs an alternative, if bzrlib is available to python scripts, the
following invocation should yield the same results without requiring
you to add a plugin:eval "`./bashcomp.py`"This approach might have some issues, though, and provides less
options than the bzr plugin. Therefore if you have the choice, go for
the plugin setup.Design conceptThe plugin (or script) is designed to generate a completion function
containing all the required information about the possible
completions. This is usually only done once when bash
initializes. After that, no more invocations of bzr are required. This
makes the function much faster than a possible implementation talking
to bzr for each and every completion. On the other hand, this has the
effect that updates to bzr or its plugins won’t show up in the
completions immediately, but only after the completion function has
been regenerated.LicenseAs this is built upon a bash completion script originally included in
the bzr source tree, and as the bzr sources are covered by the GPL 2,
this script here is licensed under these same terms.If you require a more liberal license, you’ll have to contact all
those who contributed code to this plugin, be it for bash or for
python.