Skip to main content

Crate hx_plugins

Crate hx_plugins 

Source
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§

PluginManager
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.