Skip to main content

## Module multicall_hostname

Source
Available on crate feature `unstable-doc` only.
Expand description

## §Example: hostname-like CLI (Builder API)

    use clap::Command;

    fn main() {
        let cmd = Command::new(env!("CARGO_CRATE_NAME"))
            .multicall(true)
            .arg_required_else_help(true)
            .subcommand_value_name("APPLET")
            .subcommand_help_heading("APPLETS")
            .subcommand(Command::new("hostname").about("show hostname part of FQDN"))
            .subcommand(Command::new("dnsdomainname").about("show domain name part of FQDN"));

        match cmd.get_matches().subcommand_name() {
            Some("hostname") => println!("www"),
            Some("dnsdomainname") => println!("example.com"),
            _ => unreachable!("parser should ensure only valid subcommand names are used"),
        }
    }

See the documentation for `Command::multicall` for rationale.

This example omits the implementation of displaying address config

    $ hostname
    www

Note: without the links setup, we can’t demonstrate the multicall behavior