Skip to main content

positional_propose

Function positional_propose 

Source
pub(crate) fn positional_propose<'a>(
    rest: &'a [&'a str],
) -> Option<(&'a str, &'a str, &'a [&'a str])>
Expand description

Splits off the deprecated <key-file> <channel> prefix, if this invocation carries one.

The zero-argument form and the positional form cannot be told apart by counting, because a bare choir propose alice bea names two reviewers. They can be told apart by what the first argument is: a key file is a file that exists, and a reviewer is a channel name. Requiring the file to exist rather than merely to look like a path is deliberate — a typo’d key path then reads as a reviewer and is refused by the node by name, instead of being opened and minting a key nobody registered.