Padre::PluginManager - Padre plugin manager


The PluginManager class contains logic for locating and loading Padre plugins, as well as providing part of the interface to plugin writers.



The constructor returns a new Padre::PluginManager object, but you should normally access it via the main Padre object:

  my $manager = Padre->ide->plugin_manager;

First argument should be a Padre object.


Stores a reference back to the parent IDE object.


Returns the user plugin directory (below the Padre configuration directory). This directory was added to the @INC module search path and may contain packaged plugins as PAR files.


Returns a hash (reference) of plugin names associated with a Padre::PluginHandle.

This hash is only populated after load_plugins() was called.


Returns a hash (reference) with the names of all plugins as keys which define a hook for the context menu.

See Padre::Plugin.


For all registered plugins, unload them if they were loaded and then reload them.


Scans for new plugins in the user plugin directory, in @INC, and in .par files in the user plugin directory.

Loads any given module only once, i.e. does not refresh if the plugin has changed while Padre was running.


The alert_new method is called by the main window post-init and checks for new plugins. If any are found, it presents a message to the user.


Returns the plugin names (without Padre::Plugin:: prefixed) of all plugins that the editor attempted to load but failed. Note that after a failed attempt, the plugin is usually disabled in the configuration and not loaded again when the editor is restarted.


Given a plugin name such as Foo (the part after Padre::Plugin), load the corresponding module, enable the plugin and update the Plugins menu, etc.


Given a plugin name such as Foo (the part after Padre::Plugin), DISable the plugin, UNload the corresponding module, and update the Plugins menu, etc.


Reload a single plugin whose name (without Padre::Plugin::) is passed in as first argument.


Given a plugin name or namespace, returns a hash reference which corresponds to the configuration section in the Padre database of that plugin. Any modifications of that hash reference will, on normal exit, be serialized and written back to the databasefile.

If the plugin name is omitted and this method is called from a plugin namespace, the plugin name is determine automatically.


When developing a plugin one usually edits the files belonging to the plugin (The Padre::Plugin::Wonder itself or Padre::Documents::Wonder located in the same project as the plugin itself.

This call and the appropriate menu option should be able to load (or reload) that plugin.


Called by Padre::Wx::Editor when a context menu is about to be displayed. The method calls the context menu hooks in all plugins that have one for plugin-specific manipulation of the context menu.


Padre, Padre::Config

PAR for more on the plugin system.


Copyright 2008-2009 The Padre development team as listed in


This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5 itself.