Some checks are pending
Rhai Tests / Run Rhai Tests (push) Waiting to run
- Migrate SAL project from single-crate to monorepo structure - Create independent packages for individual modules - Improve build efficiency and testing capabilities - Update documentation to reflect new structure - Successfully convert the git module to an independent package.
23 lines
661 B
Rust
23 lines
661 B
Rust
use crate::process::{kill_screen, new_screen};
|
|
use rhai::{Engine, EvalAltResult};
|
|
|
|
fn screen_error_to_rhai_error<T>(result: anyhow::Result<T>) -> Result<T, Box<EvalAltResult>> {
|
|
result.map_err(|e| {
|
|
Box::new(EvalAltResult::ErrorRuntime(
|
|
format!("Screen error: {}", e).into(),
|
|
rhai::Position::NONE,
|
|
))
|
|
})
|
|
}
|
|
|
|
#[allow(dead_code)]
|
|
pub fn register(engine: &mut Engine) {
|
|
engine.register_fn("screen_new", |name: &str, cmd: &str| {
|
|
screen_error_to_rhai_error(new_screen(name, cmd))
|
|
});
|
|
|
|
engine.register_fn("screen_kill", |name: &str| {
|
|
screen_error_to_rhai_error(kill_screen(name))
|
|
});
|
|
}
|