aboutsummaryrefslogtreecommitdiff
path: root/mingling_cli/src/bin/cli.rs
blob: f6417493d28b33678d21d7f95bace19f3641a807 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use mingling::setup::{DirectoryEnvironmentSetup, ExitCodeSetup, picker::HelpFlagSetup};
use mingling_cli::{
    ThisProgram, config::MlingConfigSetup, linter::registry::LintRegistrySetup,
    metadata::MinglingMetadataSetup, pkg_mgr::PackageManagerSetup,
};

#[tokio::main]
async fn main() {
    let mut program = ThisProgram::new();

    // Setups
    program.with_setup(HelpFlagSetup::default());
    program.with_setup(ExitCodeSetup::default());
    program.with_setup(DirectoryEnvironmentSetup::default());

    program.with_setup(MinglingMetadataSetup);
    program.with_setup(MlingConfigSetup);
    program.with_setup(LintRegistrySetup);
    program.with_setup(PackageManagerSetup);

    // Exec
    program.exec_and_exit().await;
}