about summary refs log tree commit diff stats
path: root/lib/Fornax/CLI.rakumod
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Fornax/CLI.rakumod')
-rw-r--r--lib/Fornax/CLI.rakumod19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/Fornax/CLI.rakumod b/lib/Fornax/CLI.rakumod
new file mode 100644
index 0000000..78162e4
--- /dev/null
+++ b/lib/Fornax/CLI.rakumod
@@ -0,0 +1,19 @@
+use Cairo;
+
+subset Directory of Str where *.IO.d;
+proto MAIN(|) is export { unless so @*ARGS { say $*USAGE; exit }; {*} }
+
+#| Collection of tools to visualize Path Finding Algorithms
+multi sub MAIN(
+    Str $script, #= script to run (e.g. java/DFS)
+    Directory :$algorithms = 'algorithms/', #= algorithms directory
+) is export {
+    my Str $interpreter = $script.split("/").first;
+    my IO() $program-path = $algorithms ~ $script ~ '.' ~ $interpreter;
+
+    die "Program path invalid" unless $program-path.IO.f;
+}
+
+multi sub MAIN(
+    Bool :$version #= print version
+) { say "Fornax v" ~ $?DISTRIBUTION.meta<version>; }