From cbd0b6d430d2fc8065725f0029903cd50194f24a Mon Sep 17 00:00:00 2001 From: finanalyst Date: Tue, 7 Jul 2026 19:16:42 +0100 Subject: [PATCH 1/2] create utility to choose an example --- bin/Air-examples.raku | 2 ++ lib/Air/Examples.rakumod | 25 ++++++++++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 bin/Air-examples.raku diff --git a/bin/Air-examples.raku b/bin/Air-examples.raku new file mode 100644 index 0000000..9ae1db0 --- /dev/null +++ b/bin/Air-examples.raku @@ -0,0 +1,2 @@ +use v6.d; +use Air::Examples; \ No newline at end of file diff --git a/lib/Air/Examples.rakumod b/lib/Air/Examples.rakumod index 1313523..fa6f3ba 100644 --- a/lib/Air/Examples.rakumod +++ b/lib/Air/Examples.rakumod @@ -1,6 +1,25 @@ use v6.d; +use Term::Choose; -module Examples { - # deliberately empty - # just run a script in /bin +unit module Examples; +=begin rakudoc +Get the examples from the bin file and allow for a choice +=end rakudoc +multi sub MAIN { + my $this = 'Air-examples.raku'; + my $ex-dir = 'x-bin'; + + my @examples = $ex-dir.IO.dir(test=>/'.raku'/)>>.basename.grep({ !m/$this/ }).sort; + my $tc = Term::Choose.new( + :1mouse, + :0order, + :2color, + :0clear-screen + ); + + my $chosen; + my $proc; + $chosen = $tc.choose( @examples, :2layout, :0default ); + say "Running example: $chosen\nUse Ctr-C to stop server"; + $proc = run ($*EXECUTABLE, '-I.', "$ex-dir/$chosen"); } From 7fadad46d5d43badaa92654a9ce4042f5ad2aec9 Mon Sep 17 00:00:00 2001 From: librasteve <40125330+librasteve@users.noreply.github.com> Date: Wed, 8 Jul 2026 17:16:17 +0930 Subject: [PATCH 2/2] Rename Air-examples.raku to air-examples I dropped the .raku since this is a command --- bin/Air-examples.raku | 2 -- bin/air-examples | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 bin/Air-examples.raku create mode 100644 bin/air-examples diff --git a/bin/Air-examples.raku b/bin/Air-examples.raku deleted file mode 100644 index 9ae1db0..0000000 --- a/bin/Air-examples.raku +++ /dev/null @@ -1,2 +0,0 @@ -use v6.d; -use Air::Examples; \ No newline at end of file diff --git a/bin/air-examples b/bin/air-examples new file mode 100644 index 0000000..a6462f3 --- /dev/null +++ b/bin/air-examples @@ -0,0 +1,2 @@ +use v6.d; +use Air::Examples;