pub enum ViewAction {
List {
scope: Option<String>,
},
Show {
reference: String,
},
Create {
name: String,
scope: ViewScopeArgs,
plan: ViewPlanArgs,
},
Update {
reference: String,
name: Option<String>,
plan: ViewPlanArgs,
},
Duplicate {
reference: String,
name: Option<String>,
},
Delete {
reference: String,
confirm: bool,
},
Apply {
reference: String,
},
Status {
reference: Option<String>,
live: ViewPlanArgs,
},
Share {
reference: String,
scope: ViewScopeArgs,
},
}Expand description
The tix view saved-view subcommands (#172; mission
saved-issue-views-01M3C926, WP04).
A real subcommand tree, not an optional-verb enum like LinkAction:
there is no meaningful bare tix view (bare tix view would be the
issue-printer, which takes an issue selector), so every saved-view operation
names its verb. The nine verbs are the surface contract’s spelling
(contracts/cli-surface.md).
The plan-shaping flags are ViewPlanArgs and the scope flags are
ViewScopeArgs, flattened into the verbs that take them so create,
update, share, and status cannot drift apart.
Variants§
List
List saved views, in declaration order, as tab-separated rows
Show
Show one saved view: stable id, name, scope, normalized plan, diagnostics
Create
Save a new view from the existing query grammar
The id is generated and stable (spec §3: “use stable generated IDs; names are display labels”); it is printed on the first stdout line so a script can capture it.
Update
Replace an existing view’s definition, keeping its stable id
Only the fields you name change; the rest are carried over from the
stored definition, so tix view update <id> --name X is a rename and
nothing else (identity survives a rename, C-002).
Fields
plan: ViewPlanArgsDuplicate
Copy a view under a new stable id
Fields
Delete
Remove a view definition only; requires --confirm
Never deletes an issue, comment, or relationship.
Fields
Apply
Apply a saved view read-only: render its plan, result, and active marker
Status
Report the saved plan against a live plan, field by field
Without an id it reports the (absent) active marker — never a silent “in sync”. With an id, the live plan is assembled from the plan flags given here, in the existing grammar.
Fields
live: ViewPlanArgsChange a view’s explicit sharing/visibility scope metadata
Scope is metadata: user scope stores an owner/shared-with label and
grants no permission and creates no account (C-003/C-009).
Trait Implementations§
Source§impl FromArgMatches for ViewAction
impl FromArgMatches for ViewAction
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 ViewAction
impl Subcommand for ViewAction
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 ViewAction
impl RefUnwindSafe for ViewAction
impl Send for ViewAction
impl Sync for ViewAction
impl Unpin for ViewAction
impl UnsafeUnpin for ViewAction
impl UnwindSafe for ViewAction
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