Hilbish/docs/api/hilbish/hilbish.module.md

32 lines
841 B
Markdown
Raw Normal View History

2023-07-11 02:32:59 +00:00
---
title: Interface hilbish.module
description: native module loading
layout: doc
menu:
docs:
parent: "API"
---
## Introduction
The hilbish.module interface provides a function
to load Hilbish plugins/modules.
Hilbish modules are Go-written plugins (see https://pkg.go.dev/plugin)
that are used to add functionality to Hilbish that cannot be written
in Lua for any reason.
2023-07-11 02:32:59 +00:00
To make a valid native module, the Go plugin
has to export a Loader function with a signature like so:
`func(*rt.Runtime) rt.Value`.
2023-07-11 02:32:59 +00:00
`rt` in this case refers to the Runtime type at
https://pkg.go.dev/github.com/arnodel/golua@master/runtime#Runtime
2023-07-11 02:32:59 +00:00
Hilbish uses this package as its Lua runtime. You will need to read
it to use it for a native plugin.
## Functions
### load(path)
Loads a module at the designated `path`.
It will throw if any error occurs.