pub enum RecurringAction {
List,
Show {
series: String,
},
Create(RecurringCreateArgs),
Edit {
series: String,
args: RecurringEditArgs,
},
Detect {
date: Option<String>,
timezone: Option<String>,
},
Generate {
series: String,
date: String,
confirmation: RecurringLifecycleArgs,
},
Pause {
series: String,
confirmation: RecurringLifecycleArgs,
},
Resume {
series: String,
confirmation: RecurringLifecycleArgs,
},
End {
series: String,
confirmation: RecurringLifecycleArgs,
},
Skip {
series: String,
date: String,
confirmation: RecurringLifecycleArgs,
},
Defer {
series: String,
date: String,
confirmation: RecurringLifecycleArgs,
},
Ignore {
series: String,
date: String,
confirmation: RecurringLifecycleArgs,
},
}Expand description
What tix recurring does.
Every read-only subcommand resolves its date explicitly (--date), and every
mutating one requires the confirmation flag it documents. The subcommands are a
thin adapter: they parse, call one service, and print.
Variants§
List
List every series, one tab-separated row per series
Columns: id, name, state, next_cursor, skipped.
Show
Show one series: identity, rule, state, cursor, skipped dates, occurrences
Create(RecurringCreateArgs)
Create a series: the issue that is the definition
The issue’s own fields are the template an occurrence is created from, so
--title, --labels and the rest are also what each occurrence inherits.
The rule is validated before the issue is written.
Edit
Change a series’ name and/or rule, keeping its stable id
Only the flags you name change; the rest of the rule is carried over, so
tix recurring edit <id> --name X is a rename and nothing else.
Detect
Report what is due, read-only, for an explicit date
Fields
Generate
Create the occurrence for one due date; requires --yes
Idempotent: the occurrence key is checked first, so a repeated call is a no-op and never a second issue.
Fields
confirmation: RecurringLifecycleArgsPause
Suspend generation until an explicit resume
Fields
confirmation: RecurringLifecycleArgsResume
Resume a paused series; never inferred from a refresh
Fields
confirmation: RecurringLifecycleArgsEnd
End a series: terminal for generation
Fields
confirmation: RecurringLifecycleArgsSkip
Record one occurrence date as skipped, so it is never generated
Fields
confirmation: RecurringLifecycleArgsDefer
Move the candidate past a date without recording it as skipped
Fields
confirmation: RecurringLifecycleArgsIgnore
Stop offering one occurrence date: recorded, like skip
Trait Implementations§
Source§impl Clone for RecurringAction
impl Clone for RecurringAction
Source§impl Debug for RecurringAction
impl Debug for RecurringAction
Source§impl FromArgMatches for RecurringAction
impl FromArgMatches for RecurringAction
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 RecurringAction
impl Subcommand for RecurringAction
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 RecurringAction
impl RefUnwindSafe for RecurringAction
impl Send for RecurringAction
impl Sync for RecurringAction
impl Unpin for RecurringAction
impl UnsafeUnpin for RecurringAction
impl UnwindSafe for RecurringAction
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<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