App-AltSQL
view release on metacpan or search on metacpan
lib/App/AltSQL.pm view on Meta::CPAN
=item ~/.altsql.(yml|cnf|ini|js|pl)
Write your configuration file to either the system or the local configuration locations. The local file will inherit from the global configuration but with local modifications. For purposes of this example I'll be writing out the config in YAML, bu...
=back
---
prompt: 'altsql> '
plugins:
- Tail
- Dump
view_plugins:
- Color
- UnicodeBox
App::AltSQL::View::Plugin::Color:
header_text:
default: red
cell_text:
is_null: blue
is_primary_key: bold
is_number: yellow
App::AltSQL::View::Plugin::UnicodeBox:
style: heavy_header
split_lines: 1
plain_ascii: 0
This is the default configuration, and currently encompasses all the configurable settings. This should be future safe; as you can see, plugins may use this file for their own variables as there are namespaced sections.
=over 4
=item B<prompt>
prompt: "%u@%h[%d]> "
# 'username@hostname[database]> '
prompt: "%c{red}%u%c{reset} %t{%F %T}> '
# 'username' (in red) ' YYYY-MM-DD HH:MM:SS> '
Provide a custom prompt. The following variables will be interpolated:
=over 4
=item B<%u>
The username used to connect to the model
=item B<%d>
The current database or '(none)'
=item B<%h>
The hostname the model is connected to
=item B<%%>
An escaped percent sign
=item B<%c{...}>
A L<Term::ANSIColor> color name. The value will be passed directly to the C<color> method.
=item B<%e{...}>
A block to be eval'ed. You may use $self to refer to the L<App::AltSQL::Term> object
=item B<%t{...}>
The argument to this option will be passed to L<DateTime> C<strftime> for the current time
=back
=item B<plugins>
An array of plugin names for the main namespace.
=item B<view_plugins>
An array of View plugin names to be applied to each View object created
=back
=head1 EXTENDING
As mentioned above, one key point of this project is to make it easy for people to extend. For this reason, I've built it on L<Moose> and offer a L<MooseX::Object::Pluggable> interface. If you extend C<App::AltSQL>, you may want to know about the f...
=cut
use Moose;
use Getopt::Long qw(GetOptionsFromArray);
use Params::Validate;
use Data::Dumper;
use Config::Any;
use Hash::Union qw(union);
our $VERSION = 0.05;
our $| = 1;
# Don't emit 'Wide character in output' warnings
binmode STDOUT, ':utf8';
with 'MooseX::Object::Pluggable';
my @_config_stems = ( '/etc/altsql', "$ENV{HOME}/.altsql" );
my %_default_classes = (
term => 'App::AltSQL::Term',
view => 'App::AltSQL::View',
model => 'App::AltSQL::Model::MySQL',
);
my %default_config = (
plugins => [ 'Tail', 'Dump' ],
view_plugins => [ 'Color', 'UnicodeBox' ],
term_plugins => [],
);
=head2 Accessors
( run in 1.796 second using v1.01-cache-2.11-cpan-39bf76dae61 )