Update README

This commit is contained in:
Aaron Loucks 2020-01-19 15:20:31 -05:00
parent 18c5d88e65
commit 56c586ecbf
2 changed files with 48 additions and 2 deletions

View file

@ -1,12 +1,14 @@
[package] [package]
name = "luajit2-sys" name = "luajit2-sys"
description = "LuaJIT-2.1 FFI Bindings"
version = "0.0.1" version = "0.0.1"
description = "LuaJIT-2.1 FFI Bindings"
authors = ["Aaron Loucks <aloucks@cofront.net>"] authors = ["Aaron Loucks <aloucks@cofront.net>"]
edition = "2018" edition = "2018"
keywords = ["lua", "luajit", "script"] keywords = ["lua", "luajit", "script"]
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://github.com/aloucks/luajit2-sys" repository = "https://github.com/aloucks/luajit2-sys"
documentation = "https://docs.rs/luajit2-sys"
links = "luajit" links = "luajit"
[dependencies] [dependencies]

View file

@ -1,3 +1,47 @@
# Rust LuaJIT 2 Bindings # Rust LuaJIT 2 Bindings
[![Build Status](https://dev.azure.com/aloucks/aloucks/_apis/build/status/aloucks.luajit2-sys?branchName=master)](https://dev.azure.com/aloucks/aloucks/_build/latest?definitionId=3&branchName=master) [![crates.io](https://img.shields.io/crates/v/luajit2-sys.svg)](https://crates.io/crates/luajit2-sys)
[![docs.rs](https://docs.rs/luajit2-sys/badge.svg)](https://docs.rs/luajit2-sys)
[![build](https://dev.azure.com/aloucks/aloucks/_apis/build/status/aloucks.luajit2-sys?branchName=master)](https://dev.azure.com/aloucks/aloucks/_build/latest?definitionId=3&branchName=master)
```toml
[dependencies]
luajit2-sys = "0.0.1"
```
## Exported Cargo Environment Variables
|||
| -- | -- |
| `DEP_LUAJIT_INCLUDE` | Path to the LuaJIT source and headers |
| `DEP_LUAJIT_LIB_NAME` | Platform specfic lib name (`lua51` on Windows and `luajit` everywhere else) |
## Example
```rust
use luajit2_sys as sys;
use std::ffi::CStr;
fn main() {
unsafe {
let lua = sys::luaL_newstate();
sys::luaL_openlibs(lua);
let script_data = b"return 1 + 2";
let script_name = b"run_script\0";
sys::luaL_loadbuffer(
lua,
script_data.as_ptr() as _,
script_data.len() as _,
script_name.as_ptr() as _,
);
sys::lua_pcall(lua, 0, 1, 0);
let idx = sys::lua_gettop(lua);
let s = sys::lua_tostring(lua, idx);
let result = CStr::from_ptr(s).to_string_lossy().to_string();
sys::lua_close(lua);
println!("result: {}", result);
}
}
```