#!perl
use strict;
use warnings;
use 5.010100;

package perlhl;
BEGIN {
  $perlhl::VERSION = '0.001';
}
# ABSTRACT: command-line syntax highlighter for Perl source code

require App::perlhl;
use Getopt::Long;
use Pod::Usage;

my %opts = ();
GetOptions( \%opts,
    'help|?',
    'version',
    'html',
);

pod2usage(
    -verbose => 2,
) if $opts{'help'};


App::perlhl->new(\%opts)->run(\%opts, \@ARGV);

__END__
=pod

=encoding utf-8

=head1 NAME

perlhl - command-line syntax highlighter for Perl source code

=head1 VERSION

version 0.001

=head1 SYNOPSIS

    perlhl < bin/perlhl | less -R
    perlhl bin/perlhl lib/App/perlhl.pm

=head1 DESCRIPTION

B<perlhl> is a command line syntax highlighter for Perl code.

=head1 OPTIONS

=over 4

=item B<--help>, -h, -?

Opens this man page and exits.

=item B<--version>

Prints the version of this program and supporting libraries.

=item B<--html>

Output HMTL fragment instead of ANSI terminal escapes.

=back

=head1 USE

Provide input on stdin to B<perlhl> to highlight it to stdout with ANSI colour
escapes.

    perlhl < script.pl

It is not recommended to provide multiple files on stdout, since they'll be
concatenated. This makes it impossible to know where one ends and the next
begins, and will yield inferior syntax highlighting results. To highlight
multiple files, provide filenames on the command line:

    perlhl lib/My/Module.pm lib/My/Module/Again.pm

Provide the B<--html> option to output an HTML fragment. In
the future, this option might print a whole valid document.

=head1 SEE ALSO

=over 4

=item * L<Syntax::Highlight::Perl::Improved>

=item * L<Term::ANSIColor>

=item * L<Text::Highlight>

=back

There is a one-liner that can do something comparable:

    perl -MText::Highlight -E '$h=Text::Highlight->new(ansi=>1); my $text=do{local $/; open my $fh, "<", $ARGV[0]; <$fh>}; say $h->highlight("Perl", $text);' bin/perlhl

=head1 AVAILABILITY

The latest version of this module is available from the Comprehensive Perl
Archive Network (CPAN). Visit L<http://www.perl.com/CPAN/> to find a CPAN
site near you, or see L<http://search.cpan.org/dist/App-perlhl/>.

The development version lives at L<http://github.com/doherty/App-perlhl>
and may be cloned from L<git://github.com/doherty/App-perlhl.git>.
Instead of sending patches, please fork this project using the standard
git and github infrastructure.

=head1 BUGS AND LIMITATIONS

No bugs have been reported.

Please report any bugs or feature requests through the web interface at
L<http://github.com/doherty/App-perlhl/issues>.

=head1 AUTHOR

Mike Doherty <doherty@cpan.org>

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Mike Doherty.

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

=cut

