pub enum InitiativeCommand {
Create {
name: String,
outcome: Option<String>,
owner: Option<String>,
status: Option<String>,
priority: Option<String>,
labels: Option<String>,
target_date: Option<String>,
projects: Option<String>,
epics: Option<String>,
milestones: Option<String>,
},
Edit {
reference: String,
name: Option<String>,
outcome: Option<String>,
owner: Option<String>,
status: Option<String>,
priority: Option<String>,
labels: Option<String>,
target_date: Option<String>,
projects: Option<String>,
epics: Option<String>,
milestones: Option<String>,
},
List,
Show {
reference: String,
},
Delete {
reference: String,
yes: bool,
},
Associate {
reference: String,
project: Option<String>,
epic: Option<String>,
milestone: Option<String>,
},
Dereference {
reference: String,
project: Option<String>,
epic: Option<String>,
milestone: Option<String>,
},
}Expand description
The tix initiative subcommands (mission roadmap-initiatives-01M3C8SX, WP04).
A required subcommand, like tix project and tix epic. Selection is by the
stable id (the registry key); a name resolves to the same initiative as a
convenience. A rename through edit --name changes the label only: the id is not
re-keyed, so every association and derived value survives.
Variants§
Create
Create an initiative and allocate a stable id
The name is a display label, not the identity: tix initiative edit --name
changes it and every association survives, because the record is keyed by id.
Fields
priority: Option<String>Initiative priority (a known spelling is normalized; an unknown one is kept)
Edit
Edit an initiative’s fields; a rename changes the label only
Nothing is re-keyed, so every association and derived value stays intact. An
optional value with a blank spelling clears the field (--owner ""), and a
blank reference list clears it (--projects "").
Fields
List
List initiatives in declaration order, with ids, target dates and status
Show
Show one initiative’s record, metadata and references
Delete
Delete an initiative’s registry entry (nothing else is ever deleted)
The record’s own references are reported and nothing cascades: no project, epic, milestone or issue is touched, and no association is silently repaired.
Fields
Associate
Associate an initiative with exactly one project, epic or milestone
Name exactly one of --project, --epic, --milestone; the kind is part of
the record, so guessing is worse than asking. A well-formed reference that
names nothing is stored and stays diagnosable, and a repeated association is
an idempotent no-op that writes no bytes.
Fields
Dereference
Drop an explicit association from an initiative
Name exactly one of --project, --epic, --milestone. Dropping an
association that is not recorded is an idempotent no-op that writes no bytes.
Trait Implementations§
Source§impl FromArgMatches for InitiativeCommand
impl FromArgMatches for InitiativeCommand
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<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for InitiativeCommand
impl Subcommand for InitiativeCommand
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommandAuto Trait Implementations§
impl Freeze for InitiativeCommand
impl RefUnwindSafe for InitiativeCommand
impl Send for InitiativeCommand
impl Sync for InitiativeCommand
impl Unpin for InitiativeCommand
impl UnsafeUnpin for InitiativeCommand
impl UnwindSafe for InitiativeCommand
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> 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