47 lines
1.0 KiB
Rust
47 lines
1.0 KiB
Rust
//! Rhai scripting integration for the SAL library
|
|
//!
|
|
//! This module provides integration with the Rhai scripting language,
|
|
//! allowing SAL functions to be called from Rhai scripts.
|
|
|
|
mod error;
|
|
mod os;
|
|
mod process;
|
|
|
|
#[cfg(test)]
|
|
mod tests;
|
|
|
|
use rhai::Engine;
|
|
|
|
pub use error::*;
|
|
pub use os::*;
|
|
pub use process::*;
|
|
|
|
/// Register all SAL modules with the Rhai engine
|
|
///
|
|
/// # Arguments
|
|
///
|
|
/// * `engine` - The Rhai engine to register the modules with
|
|
///
|
|
/// # Example
|
|
///
|
|
/// ```
|
|
/// use rhai::Engine;
|
|
/// use sal::rhai;
|
|
///
|
|
/// let mut engine = Engine::new();
|
|
/// rhai::register(&mut engine);
|
|
///
|
|
/// // Now you can use SAL functions in Rhai scripts
|
|
/// let result = engine.eval::<bool>("exist('some_file.txt')").unwrap();
|
|
/// ```
|
|
pub fn register(engine: &mut Engine) -> Result<(), Box<rhai::EvalAltResult>> {
|
|
// Register OS module functions
|
|
os::register_os_module(engine)?;
|
|
|
|
// Register Process module functions
|
|
process::register_process_module(engine)?;
|
|
|
|
// Future modules can be registered here
|
|
|
|
Ok(())
|
|
} |