=head1 NAME

App::VTide::Configuration - Description of the vtide configuration files

=head1 VERSION

This documentation refers to App::VTide::Configuration version 0.0.7

=head1 SYNOPSIS

   # .vtide.yml
   ---
   name: project
   # terminal count
   count: 4
   default:
     restart: 0
     wait: 1
   editor:
   terminals:
     2:
       # override defaults
       restart: 1
       wait: 0
       # run a command
       command: ./Build

=head1 DESCRIPTION

The default configuration file C<~/.vtide/default.yml> and the project specific
configuration file C<./.vtide.yml> both have the same format.

=head1 CONFIGURATION ITEMS

=head2 name

String

The name of the project (projects only)

=head2 count

Integer

The number of C<tmux> windows to start

=head2 default

Hash

Default options for terminals. The following is a description of each of it's keys.

=head3 env

Hash

A list of environment variables to set for terminals. You use other environment
variables in the values (e.g. say setting the path you could use C<bin:$PATH>)
but no other expansions are done.

=head3 restart

Bool

If set to a true value the an option to restart will be given

=head3 wait

Don't instantly start the command/editor wait till enter is pressed.

=head3 split

String

Tells how to split a tmux window into separate panes

e.g.

 Hv (cursor ends up in 1a)
    +--+--+
    |1 |1a|
    |  +--+
    |  |1b|
    +--+--+

  Hv0 (cursor ends up in 1)
    +--+--+
    |1 |1a|
    |  +--+
    |  |1b|
    +--+--+


=head3 watch

List

Specifies a list of files to watch for changes. When found the command is
rerun.

=head3 command

String or List

A command to be run in the terminal

=head3 edit

String or List

A list of files or file groups to run the editor with. If this is specified
the command attribute is ignored.

=head2 editor

Hash

Default options for the editor

=head2 terminals

Hash

Details about each tmux terminal window

=head1 AUTHOR

Ivan Wills - (ivan.wills@gmail.com)

=head1 LICENSE AND COPYRIGHT

Copyright (c) 2016 Ivan Wills (14 Mullion Close, Hornsby Heights, NSW Australia 2077).
All rights reserved.

This module is free software; you can redistribute it and/or modify it under
the same terms as Perl itself. See L<perlartistic>.  This program is
distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

=cut
