#[non_exhaustive]
pub enum ValueHint {
Show 13 variants
Unknown,
Other,
AnyPath,
FilePath,
DirPath,
ExecutablePath,
CommandName,
CommandString,
CommandWithArguments,
Username,
Hostname,
Url,
EmailAddress,
}
Expand description
Provide shell with hint on how to complete an argument.
See Arg::value_hint to set this on an argument.
See the clap_complete
crate for completion script generation.
Overview of which hints are supported by which shell:
Hint | zsh | fish1 |
---|---|---|
AnyPath | Yes | Yes |
FilePath | Yes | Yes |
DirPath | Yes | Yes |
ExecutablePath | Yes | Partial |
CommandName | Yes | Yes |
CommandString | Yes | Partial |
CommandWithArguments | Yes | |
Username | Yes | Yes |
Hostname | Yes | Yes |
Url | Yes | |
EmailAddress | Yes |
fish completions currently only support named arguments (e.g. -o or –opt), not positional arguments. ↩
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unknown
Default value if hint is not specified. Follows shell default behavior, which is usually auto-completing filenames.
Other
None of the hints below apply. Disables shell completion for this argument.
AnyPath
Any existing path.
FilePath
Path to a file.
DirPath
Path to a directory.
ExecutablePath
Path to an executable file.
CommandName
Name of a command, without arguments. May be relative to PATH, or full path to executable.
CommandString
A single string containing a command and its arguments.
CommandWithArguments
Capture the remaining arguments as a command name and arguments for that command. This is
common when writing shell wrappers that execute anther command, for example sudo
or env
.
This hint is special, the argument must be a positional argument and have
.multiple_values(true)
and Command must use Command::trailing_var_arg(true)
. The result is that the
command line my_app ls -la /
will be parsed as ["ls", "-la", "/"]
and clap won’t try to
parse the -la
argument itself.
Username
Name of a local operating system user.
Hostname
Host name of a computer.
Shells usually parse /etc/hosts
and .ssh/known_hosts
to complete hostnames.
Url
Complete web address.
EmailAddress
Email address.
Trait Implementations§
source§impl PartialEq<ValueHint> for ValueHint
impl PartialEq<ValueHint> for ValueHint
impl Copy for ValueHint
impl Eq for ValueHint
impl StructuralEq for ValueHint
impl StructuralPartialEq for ValueHint
Auto Trait Implementations§
impl RefUnwindSafe for ValueHint
impl Send for ValueHint
impl Sync for ValueHint
impl Unpin for ValueHint
impl UnwindSafe for ValueHint
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.