summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunwox <me@unwox.com>2024-08-23 21:24:54 +0600
committerunwox <me@unwox.com>2024-08-23 21:24:54 +0600
commit308b69f717931f06916847a1c987be87a40e43dc (patch)
treea9f19b8680229c2ed5a2d8f60bd27cdde1a03cc1
parentddfde99f71059e32fbe28953a40804f515afbc2a (diff)
pass lua file path as an argument
-rw-r--r--main.go23
1 files changed, 21 insertions, 2 deletions
diff --git a/main.go b/main.go
index 26a7798..f4480f6 100644
--- a/main.go
+++ b/main.go
@@ -2,6 +2,8 @@ package main
import (
"bufio"
+ "errors"
+ "flag"
"fmt"
"io"
"log"
@@ -11,8 +13,13 @@ import (
"time"
)
-
func main() {
+ if len(os.Args) != 2 {
+ printUsage()
+ }
+ luaExe := os.Args[1]
+ mustExist(luaExe)
+
httpClient := &http.Client{}
// queue for http messages for workers to handle
@@ -132,7 +139,7 @@ func main() {
wrk := NewWorker()
wrks = append(wrks, wrk)
go func () {
- err := wrk.Start("init.lua", module)
+ err := wrk.Start(luaExe, module)
if err != nil {
log.Fatal(err)
}
@@ -160,3 +167,15 @@ func main() {
fmt.Println("luna is running at 127.0.0.1:3002...")
log.Fatal(http.ListenAndServe("127.0.0.1:3002", mux))
}
+
+func printUsage() {
+ fmt.Printf("usage: %s [luafile]\n", os.Args[0])
+ flag.PrintDefaults()
+ os.Exit(2)
+}
+
+func mustExist(file string) {
+ if _, err := os.Stat(file); errors.Is(err, os.ErrNotExist) {
+ log.Fatalf("file \"%s\" does not exist", file)
+ }
+}