aboutsummaryrefslogtreecommitdiffstats
path: root/alv/copilot/cli.moon
diff options
context:
space:
mode:
Diffstat (limited to 'alv/copilot/cli.moon')
-rw-r--r--alv/copilot/cli.moon34
1 files changed, 34 insertions, 0 deletions
diff --git a/alv/copilot/cli.moon b/alv/copilot/cli.moon
new file mode 100644
index 0000000..3686491
--- /dev/null
+++ b/alv/copilot/cli.moon
@@ -0,0 +1,34 @@
+----
+-- CLI Copilot entrypoint.
+--
+-- @classmod CLICopilot
+import Logger, version from require 'alv'
+import parse_args, Copilot from require 'alv.copilot.base'
+import sleep from require 'system'
+
+class ColorLogger extends Logger
+ set_time: (time) =>
+ super time
+ @stream\write switch time
+ when 'eval' then '\27[92m'
+ when 'run' then '\27[0m'
+
+class CLICopilot extends Copilot
+ new: (arg) =>
+ @args = parse_args arg, { nocolor: false }
+ assert @args[1], "no filename given"
+ super @args[1]
+
+ run: =>
+ if @args.nocolor
+ Logger\init @args.log
+ else
+ ColorLogger\init @args.log
+
+ while true
+ @tick!
+ sleep 1 / 1000
+
+{
+ :CLICopilot
+}