5 "github.com/Shopify/go-lua"
12 var lastTime = time.Now()
15 //go:embed builtin/vector.lua
16 var vectorLibrary string
18 func l_dtime(l *lua.State) int {
19 l.PushNumber(time.Since(lastTime).Seconds())
24 func l_canceled(l *lua.State) int {
25 l.PushBoolean(canceled)
29 func signalChannel() chan os.Signal {
30 sig := make(chan os.Signal, 1)
31 signal.Notify(sig, os.Interrupt, syscall.SIGTERM, syscall.SIGHUP)
37 panic("missing filename")
48 lua.NewLibrary(l, []lua.RegistryFunction{
49 {Name: "client", Function: l_client},
50 {Name: "dtime", Function: l_dtime},
51 {Name: "canceled", Function: l_canceled},
52 {Name: "poll", Function: l_poll},
61 for i, arg := range os.Args {
63 l.RawSetInt(-2, i - 1)
67 if err := lua.DoString(l, vectorLibrary); err != nil {
71 if err := lua.DoFile(l, os.Args[1]); err != nil {