pub struct BulkSelection {
pub select: Option<String>,
pub filter: Option<String>,
pub search: Option<String>,
pub scope: Option<String>,
pub apply: bool,
}Expand description
tix bulk <action> — four actions, and each carries its own flags.
The flags are on the subcommand rather than on the parent, which is what makes the
surface unambiguous by construction rather than by a runtime check:
tix bulk archive --priority high is a clap usage error, not a command that
accepts a field flag and ignores it. edit is the only action with field flags,
link/unlink are the only ones with --target, and archive takes neither — so
there is no spelling of tix bulk that a flag can apply to by accident.
archive has no --type: archiving is not a relationship, and offering a kind
would suggest it is one.
The flags every tix bulk action carries: which issues, and whether to write.
Flattened into each action rather than held on Command::Bulk, because clap
parses a parent’s flags before its subcommand — so a parent would spell the
contract’s tix bulk edit --select <...> as tix bulk --select <...> edit, which
is a different surface from the one the contract names. Four #[command(flatten)]
of one struct gives the contract’s spelling and one vocabulary, so a new flag
cannot be added to one action and forgotten on the other three.
Fields§
§select: Option<String>Comma-separated issue selectors: number, filename fragment or unique title fragment
filter: Option<String>A --filter query, in the existing filter grammar
search: Option<String>A --search query, in the existing search grammar
scope: Option<String>Which issues are in play: active, active+archived or archived
apply: boolWrite the batch. Omit for a preview, which is the default.
Trait Implementations§
Source§impl Args for BulkSelection
impl Args for BulkSelection
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl Clone for BulkSelection
impl Clone for BulkSelection
Source§impl Debug for BulkSelection
impl Debug for BulkSelection
impl Eq for BulkSelection
Source§impl FromArgMatches for BulkSelection
impl FromArgMatches for BulkSelection
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl PartialEq for BulkSelection
impl PartialEq for BulkSelection
impl StructuralPartialEq for BulkSelection
Auto Trait Implementations§
impl Freeze for BulkSelection
impl RefUnwindSafe for BulkSelection
impl Send for BulkSelection
impl Sync for BulkSelection
impl Unpin for BulkSelection
impl UnsafeUnpin for BulkSelection
impl UnwindSafe for BulkSelection
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more