#!/usr/bin/env perl

use strict;
use warnings;
use utf8 ;

use App::Asciio ;

use Module::Util qw(find_installed) ;
use File::Basename ;

my $asciio = new App::Asciio() ;
$asciio->{UI} = 'TUI' ;

my ($command_line_switch_parse_ok, $command_line_parse_message, $asciio_config)
	= $asciio->ParseSwitches([@ARGV], 0) ;

die "Error: '$command_line_parse_message'!" unless $command_line_switch_parse_ok ;

my $setup_paths = [] ;

if(@{$asciio_config->{SETUP_PATHS}})
	{
	$asciio->setup($asciio_config->{SETUP_PATHS}) ;
	}
else
	{
	my ($basename, $path, $ext) = File::Basename::fileparse(find_installed('App::Asciio'), ('\..*')) ;
	my $setup_path = $path . $basename . '/setup/' ;
	
	$setup_paths = 
		[
		$setup_path . 'setup.ini', 
		$ENV{HOME} . '/.config/Asciio/Asciio.ini',
		] ;
	}

$asciio->setup($setup_paths) ;

if(defined $asciio_config->{TARGETS}[0])
	{
	local $asciio->{ACTION_VERBOSE} = undef ;
	$asciio->run_actions_by_name(['Open', $asciio_config->{TARGETS}[0]]) ;
	}
	
$asciio->run_script($asciio_config->{SCRIPT}) ;

use open qw( :std :encoding(UTF-8) ) ;
print $asciio->transform_elements_to_ascii_buffer() ;

