summaryrefslogtreecommitdiff
path: root/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod
diff options
context:
space:
mode:
Diffstat (limited to 'cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod')
-rw-r--r--cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod136
1 files changed, 0 insertions, 136 deletions
diff --git a/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod b/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod
deleted file mode 100644
index 8000aac988..0000000000
--- a/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod
+++ /dev/null
@@ -1,136 +0,0 @@
-=head1 NAME
-
-CPANPLUS::Shell::Default::Plugins::HOWTO -- documentation on how to write your own plugins
-
-=head1 SYNOPSIS
-
- package CPANPLUS::Shell::Default::Plugins::MyPlugin;
-
- ### return command => method mapping
- sub plugins { ( myplugin1 => 'mp1', myplugin2 => 'mp2' ) }
-
- ### method called when the command '/myplugin1' is issued
- sub mp1 { .... }
-
- ### method called when the command '/? myplugin1' is issued
- sub mp1_help { return "Help Text" }
-
-=head1 DESCRIPTION
-
-This pod text explains how to write your own plugins for
-C<CPANPLUS::Shell::Default>.
-
-=head1 HOWTO
-
-=head2 Registering Plugin Modules
-
-Plugins are detected by using C<Module::Pluggable>. Every module in
-the C<CPANPLUS::Shell::Default::Plugins::*> namespace is considered a
-plugin, and is attempted to be loaded.
-
-Therefor, any plugin must be declared in that namespace, in a corresponding
-C<.pm> file.
-
-=head2 Registering Plugin Commands
-
-To register any plugin commands, a list of key value pairs must be returned
-by a C<plugins> method in your package. The keys are the commands you wish
-to register, the values are the methods in the plugin package you wish to have
-called when the command is issued.
-
-For example, a simple 'Hello, World!' plugin:
-
- package CPANPLUS::Shell::Default::Plugins::HW;
-
- sub plugins { return ( helloworld => 'hw' ) };
-
- sub hw { print "Hello, world!\n" }
-
-When the user in the default shell now issues the C</helloworld> command,
-this command will be dispatched to the plugin, and its C<hw> method will
-be called
-
-=head2 Registering Plugin Help
-
-To provide usage information for your plugin, the user of the default shell
-can type C</? PLUGIN_COMMAND>. In that case, the function C<PLUGIN_COMMAND_help>
-will be called in your plugin package.
-
-For example, extending the above example, when a user calls C</? helloworld>,
-the function C<hw_help> will be called, which might look like this:
-
- sub hw_help { " /helloworld # prints "Hello, world!\n" }
-
-If you dont provide a corresponding _help function to your commands, the
-default shell will handle it gracefully, but the user will be stuck without
-usage information on your commands, so it's considered undesirable to omit
-the help functions.
-
-=head2 Arguments to Plugin Commands
-
-Any plugin function will receive the following arguments when called, which
-are all positional:
-
-=over 4
-
-=item Classname -- The name of your plugin class
-
-=item Shell -- The CPANPLUS::Shell::Default object
-
-=item Backend -- The CPANPLUS::Backend object
-
-=item Command -- The command issued by the user
-
-=item Input -- The input string from the user
-
-=item Options -- A hashref of options provided by the user
-
-=back
-
-For example, the following command:
-
- /helloworld bob --nofoo --bar=2 joe
-
-Would yield the following arguments:
-
- sub hw {
- my $class = shift; # CPANPLUS::Shell::Default::Plugins::HW
- my $shell = shift; # CPANPLUS::Shell::Default object
- my $cb = shift; # CPANPLUS::Backend object
- my $cmd = shift; # 'helloworld'
- my $input = shift; # 'bob joe'
- my $opts = shift; # { foo => 0, bar => 2 }
-
- ....
- }
-
-
-=head1 BUG REPORTS
-
-Please report bugs or other issues to E<lt>bug-cpanplus@rt.cpan.org<gt>.
-
-=head1 AUTHOR
-
-This module by Jos Boumans E<lt>kane@cpan.orgE<gt>.
-
-=head1 COPYRIGHT
-
-The CPAN++ interface (of which this module is a part of) is copyright (c)
-2001 - 2007, Jos Boumans E<lt>kane@cpan.orgE<gt>. All rights reserved.
-
-This library is free software; you may redistribute and/or modify it
-under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<CPANPLUS::Shell::Default>, L<CPANPLUS::Shell>, L<cpanp>
-
-=cut
-
-# Local variables:
-# c-indentation-style: bsd
-# c-basic-offset: 4
-# indent-tabs-mode: nil
-# End:
-# vim: expandtab shiftwidth=4:
-