diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-19 13:35:40 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-19 13:35:40 +0300 |
| commit | 70c45dbeb3a7c62a7c87fe7c52e3e6d5a3acb0d5 (patch) | |
| tree | d1427a4818e61a24021da7a11cc0b3a061fa428c /src | |
| parent | fe53984c4092ef00cab51b1ddd77c5b890786670 (diff) | |
fix: hide explicit client command
refs #187
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/src/main.rs b/src/main.rs index 2c17e704..efdd08b0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -211,6 +211,16 @@ fn random_nested_message() -> &'static str { NESTED_HERDR_MESSAGES[index] } +fn exit_if_nested_disabled(config: &config::Config) { + if should_block_nested(config) { + eprintln!("\x1b[1merror:\x1b[0m nested herdr is disabled by default."); + eprintln!("see configuration if you want to enable it."); + eprintln!(); + eprintln!("\x1b[2m\"{}\"\x1b[0m", random_nested_message()); + std::process::exit(1); + } +} + fn main() -> io::Result<()> { let raw_args: Vec<String> = std::env::args().collect(); let args = match session::configure_from_args(&raw_args) { @@ -257,8 +267,10 @@ fn main() -> io::Result<()> { return server::headless::run_server(); } - // Client mode: connect to an existing server's client socket. + // Hidden client mode: connect to an existing server's client socket. if args.get(1).map(|s| s.as_str()) == Some("client") { + let loaded_config = config::Config::load(); + exit_if_nested_disabled(&loaded_config.config); return client::run_client(); } @@ -340,15 +352,7 @@ fn main() -> io::Result<()> { } println!(); println!("Advanced commands:"); - for (command, description) in [ - ("herdr server", "Run as headless server"), - ( - "herdr client", - "Connect to a running server as a thin client", - ), - ] { - println!(" {command:<32} {description}"); - } + println!(" {:<32} Run as headless server", "herdr server"); println!(); println!("Options:"); println!(" --no-session Run monolithically (no server/client, escape hatch)"); @@ -418,13 +422,7 @@ fn main() -> io::Result<()> { } let loaded_config = config::Config::load(); - if should_block_nested(&loaded_config.config) { - eprintln!("\x1b[1merror:\x1b[0m nested herdr is disabled by default."); - eprintln!("see configuration if you want to enable it."); - eprintln!(); - eprintln!("\x1b[2m\"{}\"\x1b[0m", random_nested_message()); - std::process::exit(1); - } + exit_if_nested_disabled(&loaded_config.config); let no_session = args.iter().any(|a| a == "--no-session"); |
