phpup/
commands.rs

1use crate::config::Config;
2use crate::config::Error as ConfigError;
3use colored::Colorize;
4
5pub trait Command {
6    type Error: std::error::Error;
7    fn run(&self, config: &Config) -> Result<(), Self::Error>;
8    fn apply(&self, config: &Config) {
9        if let Err(e) = self.run(config) {
10            eprintln!("{}: {}", "error".red().bold(), e);
11            std::process::exit(1);
12        }
13    }
14}
15
16mod alias;
17mod completions;
18mod current;
19mod default;
20mod init;
21mod install;
22mod list_local;
23mod list_remote;
24mod unalias;
25mod uninstall;
26mod r#use;
27
28pub use alias::Alias;
29pub use completions::Completions;
30pub use current::Current;
31pub use default::Default;
32pub use init::Init;
33pub use install::Install;
34pub use list_local::ListLocal;
35pub use list_remote::ListRemote;
36pub use r#use::Use;
37pub use unalias::Unalias;
38pub use uninstall::Uninstall;