pub trait PostExecutionHook: Send + Sync {
// Required methods
fn name(&self) -> &str;
fn run(&self, result: &ExecutionResult, project_path: &Path) -> HookResult;
// Provided methods
fn run_on_dry_run(&self) -> bool { ... }
fn run_on_syntax_error(&self) -> bool { ... }
}Expand description
Trait for post-execution hooks.
Hooks are called after mutation execution completes. They can perform additional validation, external tool invocation, or other side effects.
§Example
ⓘ
use ryo_app::{PostExecutionHook, ExecutionResult, HookResult};
use std::path::Path;
struct CargoCheckHook;
impl PostExecutionHook for CargoCheckHook {
fn name(&self) -> &str {
"cargo-check"
}
fn run(&self, result: &ExecutionResult, project_path: &Path) -> HookResult {
// Run cargo check...
HookResult::Success
}
}Required Methods§
Sourcefn run(&self, result: &ExecutionResult, project_path: &Path) -> HookResult
fn run(&self, result: &ExecutionResult, project_path: &Path) -> HookResult
Provided Methods§
Sourcefn run_on_dry_run(&self) -> bool
fn run_on_dry_run(&self) -> bool
Whether to run this hook on dry-run executions. Default is false (skip on dry-run).
Sourcefn run_on_syntax_error(&self) -> bool
fn run_on_syntax_error(&self) -> bool
Whether to run this hook when execution had syntax errors. Default is false (skip on syntax errors).
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".