Expand description
Plugin system for hx using Steel Scheme.
This crate provides:
- Pre/post build hooks
- Custom commands via Scheme scripts
- A Steel API for interacting with hx
§Example
ⓘ
use hx_plugins::{PluginManager, PluginConfig};
let config = PluginConfig::default();
let mut manager = PluginManager::new(config)?;
manager.initialize()?;
// Run pre-build hooks
let ctx = PluginContext::new(project_root, project_name);
manager.run_hook(HookEvent::PreBuild, &ctx)?;Re-exports§
pub use commands::CustomCommand;pub use config::HookConfig;pub use config::PluginConfig;pub use context::BuildContext;pub use context::PluginContext;pub use context::TestContext;pub use engine::PluginSystem;pub use engine::SteelEngine;pub use error::PluginError;pub use error::Result;pub use hooks::HookEvent;pub use hooks::HookResult;pub use loader::DiscoveredPlugin;pub use loader::PluginPaths;pub use loader::discover_plugins;pub use loader::find_plugin;
Modules§
- api
- Steel API functions for hx plugins.
- commands
- Custom command support for plugins.
- config
- Plugin configuration types.
- context
- Plugin execution context.
- engine
- Steel Scheme engine wrapper and PluginSystem trait.
- error
- Error types for the plugin system.
- hooks
- Hook events and dispatch for the plugin system.
- loader
- Plugin discovery and loading.
Structs§
- Plugin
Manager - Main plugin manager that handles all plugin operations.
Functions§
- plugins_
enabled - Check if plugins are enabled in the given configuration.
- test_
context - Create a simple plugin context for testing.