diff options
author | dataCobra <datacobra@thinkbot.de> | 2024-10-26 11:46:31 +0200 |
---|---|---|
committer | dataCobra <datacobra@thinkbot.de> | 2024-10-26 11:48:42 +0200 |
commit | 81317e0c6f3b9a76b97f8ee5c6e67a3dc28911ae (patch) | |
tree | 519fd61dfdd58f9e3ef5ba701ced476a5a2ce736 /src/main.rs | |
parent | Merge pull request 'add `--web` flag to `issue create`' (#136) from issue-cre... (diff) | |
download | forgejo-cli-81317e0c6f3b9a76b97f8ee5c6e67a3dc28911ae.tar.xz forgejo-cli-81317e0c6f3b9a76b97f8ee5c6e67a3dc28911ae.zip |
move `whoami` into a module
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 24 |
1 files changed, 4 insertions, 20 deletions
diff --git a/src/main.rs b/src/main.rs index 495c971..4b69010 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,7 @@ use std::io::IsTerminal; use clap::{Parser, Subcommand}; -use eyre::{eyre, Context, OptionExt}; +use eyre::eyre; use tokio::io::AsyncWriteExt; mod keys; @@ -13,6 +13,7 @@ mod prs; mod release; mod repo; mod user; +mod whoami; mod wiki; #[derive(Parser, Debug)] @@ -33,10 +34,7 @@ pub enum Command { Pr(prs::PrCommand), Wiki(wiki::WikiCommand), #[command(name = "whoami")] - WhoAmI { - #[clap(long, short)] - remote: Option<String>, - }, + WhoAmI(whoami::WhoAmICommand), #[clap(subcommand)] Auth(auth::AuthCommand), Release(release::ReleaseCommand), @@ -64,21 +62,7 @@ async fn main() -> eyre::Result<()> { Command::Issue(subcommand) => subcommand.run(&mut keys, host_name).await?, Command::Pr(subcommand) => subcommand.run(&mut keys, host_name).await?, Command::Wiki(subcommand) => subcommand.run(&mut keys, host_name).await?, - Command::WhoAmI { remote } => { - let url = repo::RepoInfo::get_current(host_name, None, remote.as_deref(), &keys) - .wrap_err("could not find host, try specifying with --host")? - .host_url() - .clone(); - let name = keys.get_login(&url).ok_or_eyre("not logged in")?.username(); - let host = url - .host_str() - .ok_or_eyre("instance url does not have host")?; - if url.path() == "/" || url.path().is_empty() { - println!("currently signed in to {name}@{host}"); - } else { - println!("currently signed in to {name}@{host}{}", url.path()); - } - } + Command::WhoAmI(command) => command.run(&mut keys, host_name).await?, Command::Auth(subcommand) => subcommand.run(&mut keys, host_name).await?, Command::Release(subcommand) => subcommand.run(&mut keys, host_name).await?, Command::User(subcommand) => subcommand.run(&mut keys, host_name).await?, |