horror/thirdparty/minilua/README.md
2024-06-10 12:48:14 +03:00

62 lines
1.6 KiB
Markdown

# MiniLua
This is Lua contained in a single header to be bundled in C/C++ applications with ease.
[Lua](https://www.lua.org/) is a powerful, efficient, lightweight, embeddable scripting language.
## Example Usage
```c
#define LUA_IMPL
#include "minilua.h"
int main() {
lua_State *L = luaL_newstate();
if(L == NULL)
return -1;
luaL_openlibs(L);
luaL_loadstring(L, "print 'hello world'");
lua_call(L, 0, 0);
lua_close(L);
return 0;
}
```
## Usage
Copy `minilua.h` into your C or C++ project, include it anywhere you want to use Lua API.
Then do the following in *one* C file to implement Lua:
```c
#define LUA_IMPL
#include "minilua.h"
```
By default it detects the system platform to use, however you can explicitly define one.
Note that almost no modification was made in the Lua implementation code,
thus there are some C variable names that may collide with your code,
therefore it is best to declare the Lua implementation in dedicated C file.
Optionally provide the following defines:
- `LUA_MAKE_LUA` - implement the Lua command line REPL
## Documentation
For documentation on how to use Lua read its [official manual](https://www.lua.org/manual/).
## Updates
- **13-Nov-2023**: Updated to Lua 5.4.6.
- **28-Jan-2022**: Updated to Lua 5.4.4.
- **31-Mar-2021**: Updated to Lua 5.4.3.
- **03-Dec-2020**: Updated to Lua 5.4.2.
- **27-Nov-2020**: Library created, using Lua 5.4.2-rc1.
## Notes
This library tries to keep up with latest official Lua release.
The header is generated using the bash script `gen.sh` all modifications done is there.
## License
Same license as Lua, the MIT license, see LICENSE.txt for information.