From 308b69f717931f06916847a1c987be87a40e43dc Mon Sep 17 00:00:00 2001 From: unwox Date: Fri, 23 Aug 2024 21:24:54 +0600 Subject: pass lua file path as an argument --- main.go | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'main.go') 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) + } +} -- cgit v1.2.3