1
0
Fork 0
forked from wry/wry

cli: add value hints for better completions

This commit is contained in:
Julian Orth 2025-01-26 19:47:36 +01:00
parent 67549d8cb3
commit 9de5a8b2c9
2 changed files with 6 additions and 4 deletions

View file

@ -25,7 +25,7 @@ use {
portal, portal,
}, },
::log::Level, ::log::Level,
clap::{builder::PossibleValue, Args, Parser, Subcommand, ValueEnum}, clap::{builder::PossibleValue, Args, Parser, Subcommand, ValueEnum, ValueHint},
clap_complete::Shell, clap_complete::Shell,
}; };
@ -97,7 +97,7 @@ pub struct IdleArgs {
#[derive(Args, Debug)] #[derive(Args, Debug)]
pub struct RunPrivilegedArgs { pub struct RunPrivilegedArgs {
/// The program to run /// The program to run
#[clap(required = true)] #[clap(required = true, trailing_var_arg = true, value_hint = ValueHint::CommandWithArguments)]
pub program: Vec<String>, pub program: Vec<String>,
} }
@ -121,6 +121,7 @@ pub struct ScreenshotArgs {
/// in the current directory. /// in the current directory.
/// ///
/// The filename can contain the usual strftime parameters. /// The filename can contain the usual strftime parameters.
#[clap(value_hint = ValueHint::FilePath)]
pub filename: Option<String>, pub filename: Option<String>,
} }

View file

@ -10,7 +10,7 @@ use {
utils::{errorfmt::ErrorFmt, string_ext::StringExt}, utils::{errorfmt::ErrorFmt, string_ext::StringExt},
wire::{jay_compositor, jay_input, JayInputId}, wire::{jay_compositor, jay_input, JayInputId},
}, },
clap::{Args, Subcommand, ValueEnum}, clap::{Args, Subcommand, ValueEnum, ValueHint},
isnt::std_1::vec::IsntVecExt, isnt::std_1::vec::IsntVecExt,
std::{ std::{
cell::RefCell, cell::RefCell,
@ -106,7 +106,7 @@ pub enum DeviceCommand {
/// Set the acceleration speed. /// Set the acceleration speed.
SetAccelSpeed(SetAccelSpeedArgs), SetAccelSpeed(SetAccelSpeedArgs),
/// Set whether tap is enabled. /// Set whether tap is enabled.
SetTapEnabled(SetTapDragEnabledArgs), SetTapEnabled(SetTapEnabledArgs),
/// Set whether tap-drag is enabled. /// Set whether tap-drag is enabled.
SetTapDragEnabled(SetTapDragEnabledArgs), SetTapDragEnabled(SetTapDragEnabledArgs),
/// Set whether tap-drag-lock is enabled. /// Set whether tap-drag-lock is enabled.
@ -241,6 +241,7 @@ pub struct SetCursorSizeArgs {
#[derive(Args, Debug, Clone)] #[derive(Args, Debug, Clone)]
pub struct SetKeymapArgs { pub struct SetKeymapArgs {
/// The file to read the keymap from. Omit for stdin. /// The file to read the keymap from. Omit for stdin.
#[clap(value_hint = ValueHint::FilePath)]
pub file: Option<String>, pub file: Option<String>,
} }