3 releases

new 0.1.2 Dec 18, 2024
0.1.1 Dec 18, 2024
0.1.0 Dec 18, 2024

#310 in Embedded development

MIT/Apache

14KB
167 lines

About rhai-env

License crates.io crates.io API Docs

This crate provides inspection and manipulation utilties of the process's environment for the Rhai scripting language.

This crate is heavily inspired by rhai-fs.

Usage

Cargo.toml

[dependencies]
rhai-env = "0.1.0"

Rhai script

let foo = read_env("FOO");
set_env("BAR", "blah");

Rust source

use rhai::{Engine, EvalAltResult};
use rhai::packages::Package;
use rhai_env::EnvironmentPackage;

fn main() -> Result<(), Box<EvalAltResult>> {
    // Create Rhai scripting engine
    let mut engine = Engine::new();

    // Create environment package and add the package into the engine
    let package = EnvironmentPackage::new();
    package.register_into_engine(&mut engine);

    // Print the value of the environment variable `PATH`.
    let value = engine.eval::<String>(r#"env("PATH")"#)?;
    println!("{}", value);

    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

~6.5MB
~117K SLoC