34 lines
569 B
Rust
34 lines
569 B
Rust
use zsh::ZshShell;
|
|
|
|
pub mod zsh;
|
|
|
|
#[derive(clap::Parser)]
|
|
pub struct Shell {
|
|
#[command(subcommand)]
|
|
shell: ShellSubcommands,
|
|
}
|
|
|
|
impl Shell {
|
|
pub async fn execute(&mut self) -> anyhow::Result<()> {
|
|
self.shell.execute().await?;
|
|
|
|
Ok(())
|
|
}
|
|
}
|
|
|
|
#[derive(clap::Subcommand)]
|
|
pub enum ShellSubcommands {
|
|
#[command()]
|
|
Zsh(ZshShell),
|
|
}
|
|
|
|
impl ShellSubcommands {
|
|
pub async fn execute(&mut self) -> anyhow::Result<()> {
|
|
match self {
|
|
ShellSubcommands::Zsh(zsh) => zsh.execute().await?,
|
|
}
|
|
|
|
Ok(())
|
|
}
|
|
}
|