aboutsummaryrefslogtreecommitdiff
path: root/mling/src/cli.rs
diff options
context:
space:
mode:
Diffstat (limited to 'mling/src/cli.rs')
-rw-r--r--mling/src/cli.rs77
1 files changed, 0 insertions, 77 deletions
diff --git a/mling/src/cli.rs b/mling/src/cli.rs
deleted file mode 100644
index b628021..0000000
--- a/mling/src/cli.rs
+++ /dev/null
@@ -1,77 +0,0 @@
-use mingling::{
- macros::{r_println, renderer},
- setup::{BasicProgramSetup, GeneralRendererSetup},
-};
-
-use crate::{CMDCompletion, ErrorDispatcherNotFound, ThisProgram, display::markdown};
-
-pub mod list;
-pub use list::*;
-
-pub mod namespace_mgr;
-pub use namespace_mgr::*;
-
-pub mod read;
-pub use read::*;
-
-pub mod install;
-pub use install::*;
-
-/// Entry point for the CLI application.
-///
-/// # Panics
-///
-/// Panics on Windows if the virtual terminal processing cannot be enabled.
-pub fn cli_entry() {
- let mut program = ThisProgram::new();
-
- // Plugins
- program.with_setup(BasicProgramSetup);
- program.with_setup(GeneralRendererSetup);
- program.with_dispatcher(CMDCompletion);
-
- if program.pick_global_flag(["-v", "--version"]) {
- println!("{}", include_str!("../res/version.txt").trim_end());
- return;
- }
-
- // Help
- if program.user_context.help {
- println!(
- "{}",
- markdown(include_str!("../res/help-mling.txt").trim_end())
- );
- return;
- }
-
- // Context query commands
- program.with_dispatcher(ListInstalledCommand);
- program.with_dispatchers((
- ReadTargetDirCommand,
- ReadWorkspaceRootCommand,
- ReadBinariesCommand,
- ));
-
- // Namespace manage commands
- program.with_dispatchers((
- TrustNamespaceCommand,
- UntrustNamespaceCommand,
- SetTrustNamespaceCommand,
- RemoveNamespaceCommand,
- ));
-
- // Install binaries command
- program.with_dispatcher(InstallCommand);
-
- // Colored Setup
- #[cfg(windows)]
- colored::control::set_virtual_terminal(true).unwrap();
-
- let _ = program.exec();
-}
-
-#[renderer]
-pub(crate) fn fallback_disp(prev: ErrorDispatcherNotFound) {
- r_println!("Error: command \"{}\" not found!", prev.join(" "));
- r_println!("Use \"mling --help\" for more information.");
-}