Skip to main content

TuiAction

Enum TuiAction 

Source
pub enum TuiAction {
Show 109 variants MoveUp, MoveDown, MoveLeft, MoveRight, NextBoard, PreviousBoard, Open, Edit, Agent, View, ToggleColumn, FilterModal, BulkModal, Triage, OpenMentions, Views, ApplyView, NewView, RenameView, UpdateView, DuplicateView, DeleteView, Mark, Unmark, ClearMarks, MovePrevious, MoveNext, NewIssue, CloneIssue, ToggleArchived, ToggleChildren, Delete, Refresh, Settings, Planning, NewBoard, Help, Quit, TextFilter, ReorderUp, ReorderDown, Close, ScrollUp, ScrollDown, ScrollLineDown, ScrollLineUp, ScrollTop, ScrollBottom, Comment, Asset, NewRelationship, EditRelationship, RemoveRelationship, EditParent, NextRelationship, PreviousRelationship, RelatedPicker, FollowRelated, NavBack, Submit, Cancel, Next, Previous, OpenPicker, Reset, Toggle, AddColumn, MoveColumnUp, MoveColumnDown, NewPlanningItem, EditPlanningItem, DeletePlanningItem, Confirm, Create, PreviousYear, NextYear, PreviousMonth, NextMonth, Reedit, Ignore, DeclareKey, Discard, SwitchToBoard, SwitchToTriage, SwitchToCycle, SwitchToMilestones, SwitchToRepos, SwitchToStats, HealthForm, TimeAdd, TimeEdit, TimeDelete, TimeFilter, TimeBreakdown, TimeHistory, SwitchToSchedule, SeriesGenerate, SeriesPause, SeriesResume, SeriesEnd, SeriesSkip, SeriesDefer, SeriesIgnore, SeriesNew, SwitchToLibrary, SwitchToPortfolio, SwitchToNewIssue, SwitchToConfig, ToggleNavigation,
}

Variants§

§

MoveUp

§

MoveDown

§

MoveLeft

§

MoveRight

§

NextBoard

§

PreviousBoard

§

Open

§

Edit

§

Agent

§

View

Open the selected issue in a read-only viewer (tix #1507).

v was free on both the board and the detail pane. Read-only by construction: the viewer runs on the issue file and never writes back.

§

ToggleColumn

§

FilterModal

§

BulkModal

§

Triage

Open the triage inbox (WP06, T029). Its own action rather than a chord bolted onto another one, so t can be rebound from keybindings.board like every other board key and the help overlay can name it.

§

OpenMentions

Open the mentions view (OpenSpec change issue-mentions): every pending @mention the local user holds, across issues.

Its own action rather than a chord bolted onto another one, for the reason Triage’s is: the chord is a rebindable board key, the help overlay can name it, and the bottom indicator row reads it back out of the effective bindings so the row cannot advertise a key the user has rebound away.

The default is i, which was free on the board — t is the triage inbox, v the saved views, f the filter, and the board’s letters are its navigation.

§

Views

Open the saved-views modal (WP05, T024). Its own action for the reason Triage’s is: v is a rebindable board key and the help overlay names it.

§

ApplyView

Apply the view under the cursor (WP05, T025).

§

NewView

Create a view from the live plan (WP05, T027).

§

RenameView

Rename the view under the cursor (WP05, T027).

§

UpdateView

Replace the view under the cursor’s plan with the live plan (WP05, T027).

§

DuplicateView

Duplicate the view under the cursor under a fresh stable id (WP05, T027).

§

DeleteView

Delete the view under the cursor’s definition, after confirmation (WP05, T027).

§

Mark

§

Unmark

§

ClearMarks

Empty the batch selection from the board (X).

Its own action rather than an overload of Unmark: the modal’s X empties the whole set while x removes one card, and the board now reads the same two keys. Canonicalizing both to one action would collapse the distinction.

§

MovePrevious

§

MoveNext

§

NewIssue

§

CloneIssue

Duplicate the selected issue into the create-issue form, prefilled from it (tix #1484).

C, the capital of c (toggle column): a pair that reads together without changing what any existing key means, which is the same rule B/A follow.

§

ToggleArchived

Show the archived issues on the board, or hide them again (tix #1492).

a was unbound on the board. The toggle is a reload, not a display filter: the archived files are not read until it is on.

§

ToggleChildren

Show each issue’s sub-issues beneath it on the board, or hide them again (tix #1399).

u was unbound on the board. Unlike the archive toggle this is display-only: the children are already in the board state, so flipping it reorders the column (one level deep) rather than re-reading the store.

§

Delete

§

Refresh

§

Settings

§

Planning

§

NewBoard

§

Help

§

Quit

§

TextFilter

§

ReorderUp

§

ReorderDown

§

Close

§

ScrollUp

§

ScrollDown

§

ScrollLineDown

Scroll the detail pane’s body one row. j/Down and k/Up were freed for this when the relationship cursor moved to Tab/BackTab.

§

ScrollLineUp

§

ScrollTop

Scroll the detail pane’s body to the top (g) or bottom (G).

§

ScrollBottom

§

Comment

§

Asset

§

NewRelationship

Open the create-relationship prompt from the detail view (#1359).

§

EditRelationship

Re-kind or retarget the relationship under the detail pane’s cursor.

§

RemoveRelationship

Remove the relationship under the cursor, after confirmation.

§

EditParent

Set, change or clear the open issue’s parent from the detail pane (tix #1384).

P was free in the detail pane. The prompt routes its write through the shared hierarchy service (Store::set_parent/clear_parent), which is the same seam tix edit --parent uses, so the TUI gains the set/change/clear parity for parent that the create-only form could not express.

§

NextRelationship

Move the detail pane’s relationship cursor (Tab/BackTab).

§

PreviousRelationship

§

RelatedPicker

Open the picker listing the detail pane’s related_issues entries (tix #1513).

r was free in the detail pane — the board’s r is refresh, a different context, so the two never collide.

§

FollowRelated

Follow the detail pane’s selected related_issues entry (tix #1513).

o was free in the detail pane and reads as “open”.

§

NavBack

Pop the detail pane’s navigation stack and restore the previous issue (tix #1513).

Backspace was free in the detail pane and reads as “back”.

§

Submit

§

Cancel

§

Next

§

Previous

§

OpenPicker

§

Reset

§

Toggle

§

AddColumn

§

MoveColumnUp

Move the Config mode’s selected board column one position earlier (shift+k by default, tui-config-mode).

§

MoveColumnDown

Move the Config mode’s selected board column one position later (shift+j by default, tui-config-mode).

§

NewPlanningItem

§

EditPlanningItem

§

DeletePlanningItem

§

Confirm

§

Create

§

PreviousYear

§

NextYear

§

PreviousMonth

§

NextMonth

§

Reedit

§

Ignore

§

DeclareKey

Declare the repair prompt’s undeclared frontmatter key in tix.toml (tix #1506).

Its own action, not confirm: confirm applies whatever fix the prompt proposes, which happens to be the declaration for an unknown key, while declare_key always means “write it into [custom_attributes]” and says so when there is no key to declare.

§

Discard

Discard the repair prompt’s retained copy, after a second confirmation (tix #1506).

The only action that removes the editor’s copy. The first press arms the prompt; a second press is the decision. Esc deliberately acknowledges and keeps the copy instead, so a stray key cannot destroy a user’s edit.

§

SwitchToBoard

Switch the top-level shell to the Board mode (F1 by default).

§

SwitchToTriage

Switch the top-level shell to the Triage mode (F2 by default).

§

SwitchToCycle

Switch the top-level shell to the Cycle mode (F4 by default).

§

SwitchToMilestones

Switch the top-level shell to the Milestones mode (F5 by default).

§

SwitchToRepos

Switch the top-level shell to the Repos mode (F6 by default, tix #1529).

F6 was free in the shell and sits directly after the milestone switch, so the repository list reads as the last of the managed registries.

§

SwitchToStats

Switch the top-level shell to the Stats page (F7 by default).

F7 was reserved in the shell until this page existed; the Stats page takes it, and its first tab is Health (mission project-issue-health-status-01M3C8HX).

§

HealthForm

Open the health form for the issue in the detail pane.

One action, two layers: the form’s own field chooses whether the value is the issue’s current state or an override layered over its derived one, so a user does not have to learn two key paths that do the same thing with one field different.

§

TimeAdd

Open the add-entry form on the F7 Stats page’s Time tab (mission per-issue-time-tracking-01M3C9A4, WP05 T025).

One of six keys the Time tab contributes to InputContext::Stats. The key opens a form and writes nothing; the form’s Enter is the only path that reaches the shared time service, so a stray key cannot record an entry.

§

TimeEdit

Open the correction form for the Time tab’s selected entry (WP05 T025).

§

TimeDelete

Open the deletion form for the Time tab’s selected entry (WP05 T025).

A deletion removes the entry from the issue’s current projection; the form asks for a reason and a confirmation, and History keeps the prior value (C-003, C-004).

§

TimeFilter

Edit the Time tab’s scope: issue, assignee, period (WP05 T026).

It edits the shared TimeFilter the CLI’s --issue/--assignee/--from/--to build, so a filter has one grammar and one validator.

§

TimeBreakdown

Cycle the Time tab’s breakdown dimension: all, issue, assignee, date (WP05 T026).

§

TimeHistory

Toggle the Time tab’s audit view (WP05 T027): what the current projection no longer holds but History still attributes.

§

SwitchToSchedule

Switch to the F8 Schedule page (tix #1593).

§

SeriesGenerate

Generate the selected series’ due occurrence (tix #1593).

§

SeriesPause

Pause the selected series.

§

SeriesResume

Resume the selected series.

§

SeriesEnd

End the selected series.

§

SeriesSkip

Record the selected series’ due date as skipped.

§

SeriesDefer

Move the selected series’ candidate past its due date.

§

SeriesIgnore

Stop offering the selected series’ due date.

§

SeriesNew

Define a new recurring series (tix #1593).

The Series tab’s n: it opens the page’s create form, whose save reaches the same tix recurring create service the CLI runs, with the same rule and anchor parsing and the same validation order.

§

SwitchToLibrary

Switch to the F11 Library page (tix #1593).

§

SwitchToPortfolio

Switch to the F10 Portfolio page (WP06).

F10 was reserved in the shell until this page existed; the Portfolio page’s Projects tab takes it.

§

SwitchToNewIssue

Switch the top-level shell to the New Issue mode (F1 by default).

§

SwitchToConfig

Switch the top-level shell to the Config mode (F12 by default).

§

ToggleNavigation

Cycle the vertical navigation display state Off/Small/Default.

Implementations§

Source§

impl TuiAction

Source

pub const fn as_str(self) -> &'static str

Source

pub const fn description(self) -> &'static str

Source

pub const fn description_in(self, context: InputContext) -> &'static str

The wording this action gets in context’s help.

move_left/move_right walk a column on the board, the Config mode’s two panes (rail ⇄ body), and a group in the Cycle listing; submit steps into the body and then activates the row there. The action — and the key — is the same event, so only the noun the help shows changes. Every other action keeps its single description.

Trait Implementations§

Source§

impl Clone for TuiAction

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for TuiAction

Source§

impl Debug for TuiAction

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for TuiAction

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Eq for TuiAction

Source§

impl Hash for TuiAction

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for TuiAction

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for TuiAction

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for TuiAction

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.