4 releases
0.1.3 | Oct 25, 2023 |
---|---|
0.1.2 | Dec 3, 2022 |
0.1.1 | Nov 2, 2022 |
0.1.0 | Oct 24, 2022 |
0.0.1 |
|
#138 in Embedded development
303 downloads per month
Used in 7 crates
(6 directly)
28KB
452 lines
About rhai-fs
This crate provides filesystem access for the Rhai scripting language.
Usage
Cargo.toml
[dependencies]
rhai-fs = "0.1.2"
Rhai script
// Create a file or open and truncate if file is already created
let file = open_file("example.txt");
let blob_buf = file.read_blob();
print("file contents: " + blob_buf);
blob_buf.write_utf8(0..=0x20, "foobar");
print("new file contents: " + blob_buf);
file.write(blob_buf);
Rust source
use rhai::{Engine, EvalAltResult};
use rhai::packages::Package;
use rhai_fs::FilesystemPackage;
fn main() -> Result<(), Box<EvalAltResult>> {
// Create Rhai scripting engine
let mut engine = Engine::new();
// Create filesystem package and add the package into the engine
let package = FilesystemPackage::new();
package.register_into_engine(&mut engine);
// Print the contents of the file `Cargo.toml`.
let contents = engine.eval::<String>(r#"open_file("Cargo.toml", "r").read_string()"#)?;
println!("{}", contents);
Ok(())
}
Features
Feature | Default | Description |
---|---|---|
no_index |
disabled | Enables support for no_index builds of Rhai |
sync |
disabled | Enables support for sync builds of Rhai |
metadata |
disabled | Enables support for generating package documentation |
Dependencies
~4–5.5MB
~97K SLoC