NAME

Bash::Completion - Extensible system to provide bash completion

VERSION

version 0.003

SYNOPSIS

## For end users, in your .bashrc:
##
. setup-bash-complete
##
## Now install all the Bash::Completion::Plugins:: that you need
##
## For plugin writters, see Bash::Completion::Plugin

DESCRIPTION

bash completion should just work when you install new commands. Bash::Completion is a system to use and write bash completion rules.

For end-users, you just need to add this line to your .bashrc or .bash_profile:

. setup-bash-complete

This will load all the installed Bash::Completion plugins, make sure they should be activated and generate the proper bash code to setup bash completion for them.

If you later install a new command line tool, and it has a Bash::Completion::Plugin- based plugin, all your new shells will have bash completion rules for it. You can also force immediate setup by running the same command:

. setup-bash-complete

To write a new Bash::Completion plugin, see Bash::Completion::Plugin.

METHODS

new

Create a Bash::Completion instance.

complete

Given a plugin name and a list reference of plugin arguments, loads the proper plugin class, creates the plugin instance and asks for possible completions.

Returns the Bash::Completion::Request object.

setup

Checks all plugins found if they should be activated.

Generates and returns the proper bash code snippet to it all up.

plugins

Search @INC for all classes in the Bash::Completion::Plugins:: namespace.

AUTHOR

Pedro Melo <melo@cpan.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2010 by Pedro Melo.

This is free software, licensed under:

The Artistic License 2.0 (GPL Compatible)