NAME¶
Padre::Config - Configuration subsystem for Padre
SYNOPSIS¶
use Padre::Config;
[...]
if ( Padre::Config->main_statusbar ) { [...] }
DESCRIPTION¶
This module not only stores the complete Padre configuration, it also holds the
functions for loading and saving the configuration.
The Padre configuration lives in two places:
- a user-editable text file usually called
config.yml
- an SQLite database which shouldn't be edited by the
user
Generic usage¶
Every setting is accessed by a mutator named after it, i.e. it can be used both
as a getter and a setter depending on the number of arguments passed to it.
Different types of settings¶
Padre needs to store different settings. Those preferences are stored in
different places depending on their impact. But "Padre::Config"
allows one to access them with a unified API (a mutator). Only their
declaration differs in the module.
Here are the various types of settings that "Padre::Config" can
manage:
- •
- User settings
Those settings are general settings that relates to user preferences. They
range from general user interface look & feel (whether to show
the line numbers, etc.) to editor preferences (tab width, etc.) and other
personal settings.
Those settings are stored in a YAML file, and accessed with
"Padre::Config::Human".
- •
- Host settings
Those preferences are related to the host on which Padre is run. The
principal example of those settings are window appearance.
Those settings are stored in a DB file, and accessed with
"Padre::Config::Host".
- •
- Project settings
Those preferences are related to the project of the file you are currently
editing. Examples of those settings are whether to use tabs or spaces,
etc.
Those settings are accessed with "Padre::Config::Project".
ADDING CONFIGURATION OPTIONS¶
Add a "
setting()" - call to the correct section of this file.
The
setting() call initially creates the option and defines some metadata
like the type of the option, it's living place and the default value which
should be used until the user configures a own value.
COPYRIGHT & LICENSE¶
Copyright 2008-2012 The Padre development team as listed in Padre.pm.
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl 5 itself.