#!/usr/bin/env perl6
use v6;
use Plosurin;

my %opt = ();
while ( @*ARGS > 1 ) {
    my ($name, $val ) = @*ARGS.splice(0,2);
    unless $name ~~ rx/^\-+/ {
        die "Bad option name: $name. Maybe you mean -$name or --$name?";
    }
    %opt{$name.subst( rx/^\-+/,'')} = $val;
}

if @*ARGS == 1 {
my $data = slurp(@*ARGS[0]);
my $plo =  Plosurin.new( :type('perl5'), :package('MyApp::Template'), |%opt);
say $plo.parse($data).out_perl();
} else {
    die
"Error: Need template file
Usage:
        plosurin <file>
Options:
    -type <perl5> - the argument following the -type is used to indicate the output format. Default: 'perl5'.
   for type perl5:
    -package - namespace for rendered perl5 code. Default: 'MyApp::Template'.

Expample:
    perl5 output:
        plosurin -type perl5 -package Test::Tmpl test.soy > Tmpl.pm";

}

