diff options
| author | unwox <me@unwox.com> | 2024-08-23 21:24:54 +0600 |
|---|---|---|
| committer | unwox <me@unwox.com> | 2024-08-23 21:24:54 +0600 |
| commit | 308b69f717931f06916847a1c987be87a40e43dc (patch) | |
| tree | a9f19b8680229c2ed5a2d8f60bd27cdde1a03cc1 /main.go | |
| parent | ddfde99f71059e32fbe28953a40804f515afbc2a (diff) | |
pass lua file path as an argument
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 23 |
1 files changed, 21 insertions, 2 deletions
@@ -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) + } +} |
