Skip to content
forked from Shopify/goluago

Lua wrappers for the Go standard library

License

Notifications You must be signed in to change notification settings

mtabini/goluago

This branch is 2 commits ahead of, 60 commits behind Shopify/goluago:main.

Repository files navigation

GoDoc

Lua wrappers for the Go standard library

Wraps Go's standard libraries so they can be used with the go-lua Lua VM implementation.

Most of the packages under pkg expose a single function Open(l *lua.State) that makes the corresponding Go package available to Lua scripts. For example:

import "github.com/mtabini/goluago/pkg/strings"
...
strings.Open(l)
...

allows Lua scripts loaded by l to:

require("goluago/strings")
strings.trim("loll ")
strings.split("cat,dog,elephant,walrus", ",")
strings.replace("oink oink oink", "k", "ky", 2)

To make all supported APIs available to Lua:

import "github.com/mtabini/goluago"
...
goluago.Open(l)
...

The "github.com/mtabini/goluago/util" package provides helper functions to push Go values onto the Lua stack, pull tables of string->string or string->value from the Lua stack to Go, and support variadic arguments.

License

goluago is licensed under the MIT license.

About

Lua wrappers for the Go standard library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 79.1%
  • Lua 20.5%
  • Shell 0.4%