Merge pull request #239 from Crypto-Spartan/fix-zip-warning
[ouch.git] / src / main.rs
blobdeea33c41da7c0c15b374cdee63a8270202515d5
1 // Macros should be declared first
2 pub mod macros;
4 pub mod archive;
5 pub mod cli;
6 pub mod commands;
7 pub mod error;
8 pub mod extension;
9 pub mod list;
10 pub mod progress;
11 pub mod utils;
13 /// CLI argparsing definitions, using `clap`.
14 pub mod opts;
16 use error::{Error, Result};
17 use opts::{Opts, Subcommand};
18 use utils::{QuestionAction, QuestionPolicy};
20 /// The status code returned from `ouch` on error
21 pub const EXIT_FAILURE: i32 = libc::EXIT_FAILURE;
23 fn main() {
24     if let Err(err) = run() {
25         eprintln!("{}", err);
26         std::process::exit(EXIT_FAILURE);
27     }
30 fn run() -> Result<()> {
31     let (args, skip_questions_positively, file_visibility_policy) = Opts::parse_args()?;
32     commands::run(args, skip_questions_positively, file_visibility_policy)