shimexe_core/
lib.rs

1//! # shimexe-core
2//!
3//! Core library for shimexe - a modern, cross-platform executable shim manager
4//! with environment variable expansion and TOML configuration support.
5
6pub mod archive;
7pub mod config;
8pub mod downloader;
9pub mod error;
10pub mod manager;
11pub mod runner;
12pub mod template;
13pub mod traits;
14pub mod updater;
15pub mod utils;
16
17#[cfg(test)]
18mod archive_tests;
19
20pub use archive::ArchiveExtractor;
21pub use config::{
22    AutoUpdate, ExtractedExecutable, ShimConfig, ShimCore, ShimMetadata, SourceType,
23    UpdateProvider, VersionCheck,
24};
25pub use downloader::Downloader;
26pub use error::{Result, ShimError};
27pub use manager::{ShimBuilder, ShimInfo, ShimManager};
28pub use runner::ShimRunner;
29pub use template::{ArgsConfig, ArgsMode, TemplateEngine};
30pub use traits::{CustomizableShimRunner, ShimConfigLoader, ShimRunnerBuilder, ShimRunnerTrait};
31pub use updater::ShimUpdater;
32
33/// Re-export commonly used types
34pub mod prelude {
35    pub use crate::{
36        ArgsConfig, ArgsMode, Result, ShimBuilder, ShimConfig, ShimError, ShimInfo, ShimManager,
37        ShimRunner, TemplateEngine,
38    };
39}