From 013f8500dfb7becc9346314e4eef9172da503ca0 Mon Sep 17 00:00:00 2001 From: Nathan McCarty Date: Tue, 31 Dec 2024 19:32:50 +0000 Subject: [PATCH] Slightly colorized output --- META6.json | 3 ++- bin/iutils | 18 ++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/META6.json b/META6.json index 0918894..5bcad19 100644 --- a/META6.json +++ b/META6.json @@ -7,7 +7,8 @@ "Nathan McCarty " ], "depends": [ - "paths" + "paths", + "Terminal::ANSIColor" ], "provides": { "IUtils": "lib/IUtils.rakumod", diff --git a/bin/iutils b/bin/iutils index 9c2671d..29a6357 100755 --- a/bin/iutils +++ b/bin/iutils @@ -1,5 +1,8 @@ #!/usr/bin/env raku use v6.d; + +use Terminal::ANSIColor; + use IUtils; use IUtils::Regexes; use IUtils::Compiler; @@ -24,25 +27,32 @@ multi MAIN( # CD to the local directory to make sure idris can exec the expressions indir $runable.ipkg.parent, { next unless $runable.tests.elems > 0; - say "** Testing {$runable.ipkg.relative: $basedir}"; + my $test-module-name = + colored($runable.ipkg.relative($basedir), 'magenta bold'); + say "{colored '*', 'yellow bold'} Testing $test-module-name"; for $runable.tests.keys -> $module-name { my $module = $runable.tests{$module-name}; next unless $module.tests.elems > 0; - say "-- Testing $module-name".indent(2); + my $colored-module = colored $module-name, 'cyan bold'; + say "{colored '**', 'magenta bold'} Testing $colored-module" + .indent(2); for $module.tests -> $test { try { idris-exec $test, $module.source.relative; } + my $testf = colored $test, 'underline'; if $! { my $stdout = $1.err.lines.map(*.indent(8)).join("\n"); - say "+ $test: FAIL".indent(4); + say "{colored '+', 'red'} $testf: {colored 'FAIL', 'red bold'}" + .indent(4); say "stdout:".indent(6); $!.err.lines.map(*.indent(8)).join("\n"); say "stderr:".indent(6); $!.err.lines.map(*.indent(8)).join("\n"); say "exit code: {$!.exit-code}" } else { - say "+ $test: Pass".indent(4); + say "{colored '+', 'green'} $testf: {colored 'pass', 'green'}" + .indent(4); } } }