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