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 runner;
11pub mod template;
12pub mod traits;
13pub mod updater;
14pub mod utils;
15
16#[cfg(test)]
17mod archive_tests;
18
19pub use archive::ArchiveExtractor;
20pub use config::{
21    AutoUpdate, ExtractedExecutable, ShimConfig, ShimCore, ShimMetadata, SourceType,
22    UpdateProvider, VersionCheck,
23};
24pub use downloader::Downloader;
25pub use error::{Result, ShimError};
26pub use runner::ShimRunner;
27pub use template::{ArgsConfig, ArgsMode, TemplateEngine};
28pub use traits::{CustomizableShimRunner, ShimConfigLoader, ShimRunnerBuilder, ShimRunnerTrait};
29pub use updater::ShimUpdater;
30
31/// Re-export commonly used types
32pub mod prelude {
33    pub use crate::{
34        ArgsConfig, ArgsMode, Result, ShimConfig, ShimError, ShimRunner, TemplateEngine,
35    };
36}