webview_bundle_cli/
lib.rs

1mod commands;
2mod logging;
3mod options;
4mod panic;
5pub mod prelude;
6
7pub use crate::commands::{cli_command, CliCommand};
8pub use crate::logging::{setup_logging, LoggingKind, LoggingLevel};
9pub use crate::options::{CliOptions, ColorsArg};
10pub use crate::panic::setup_panic_handler;
11use biome_console::{ColorMode, Console};
12use prelude::*;
13
14pub(crate) const VERSION: &str = env!("CARGO_PKG_VERSION");
15
16pub async fn run(console: &mut dyn Console, command: CliCommand) -> Result<()> {
17  match command {
18    CliCommand::Pack {
19      cli_options,
20      dir,
21      outfile,
22      truncate,
23    } => {
24      commands::pack::pack(
25        console,
26        commands::pack::PackCommandData {
27          cli_options,
28          dir,
29          outfile,
30          truncate,
31        },
32      )
33      .await
34    }
35    CliCommand::Extract {
36      cli_options,
37      outdir,
38      dry_run,
39      file,
40    } => {
41      commands::extract::extract(
42        console,
43        commands::extract::ExtractCommandData {
44          cli_options,
45          outdir,
46          dry_run,
47          file,
48        },
49      )
50      .await
51    }
52  }
53}
54
55pub fn to_color_mode(color: Option<&ColorsArg>) -> ColorMode {
56  match color {
57    Some(ColorsArg::Off) => ColorMode::Disabled,
58    Some(ColorsArg::Force) => ColorMode::Enabled,
59    None => ColorMode::Auto,
60  }
61}