1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
//! Canonical footer keycap labels.
//!
//! Single source of truth for the text shown next to every keycap in TUI
//! footers. Inline strings in `src/ui/*.rs` are forbidden — every footer
//! must reference these constants so the same key in different screens
//! shows the same label.
//!
//! Categories follow the design-system-reference.md "Footer keycap" rule:
//! - `back` — leaves a navigated overlay and returns to its parent
//! - `cancel` — discards form/picker input or selection state
//! - `close` — closes a self-contained info overlay (no state)
//!
//! All values include the surrounding spaces the `Footer` builder expects
//! (` select `, not `select`).
// --- Esc category ---
/// Back to parent screen (used for navigated lists: providers, tunnels, keys).
pub const ESC_BACK: &str = " back";
/// Cancel pending input (forms, pickers with selection state).
pub const ESC_CANCEL: &str = " cancel";
/// Close a self-contained info overlay (help, what's-new, jump, key_detail).
pub const ESC_CLOSE: &str = " close";
/// Clear the active filter inside a search/tag-input mode (host_list).
pub const ESC_CLEAR: &str = " clear";
// --- Enter category ---
/// Open the selected item's detail / edit form.
pub const ENTER_SELECT: &str = " select ";
/// Save and submit a form.
pub const ENTER_SAVE: &str = " save ";
/// Connect over SSH (host_list).
pub const ENTER_CONNECT: &str = " connect ";
/// Apply a multi-select choice (region picker, bulk tag editor).
pub const ENTER_APPLY: &str = " apply ";
/// Edit the selected row (provider list).
pub const ENTER_EDIT: &str = " edit ";
/// Toggle: tunnel start.
pub const ENTER_START: &str = " start ";
/// Toggle: tunnel stop.
pub const ENTER_STOP: &str = " stop ";
/// Run a snippet.
pub const ENTER_RUN: &str = " run ";
/// File-browser copy.
pub const ENTER_COPY: &str = " copy ";
/// Provider list: expand a multi-config row.
pub const ENTER_EXPAND: &str = " expand ";
/// Provider list: collapse a multi-config row.
pub const ENTER_COLLAPSE: &str = " collapse ";
/// Bulk tag editor: add row.
pub const ENTER_ADD: &str = " add ";
// --- Action keys (single-letter shortcuts) ---
pub const ACTION_ADD: &str = " add ";
pub const ACTION_DEL: &str = " del ";
pub const ACTION_EDIT: &str = " edit ";
pub const ACTION_SYNC: &str = " sync ";
pub const ACTION_SORT: &str = " sort ";
pub const ACTION_SEARCH: &str = " search ";
pub const ACTION_TAG: &str = " tag ";
pub const ACTION_DETAIL: &str = " detail ";
pub const ACTION_JUMP: &str = " jump ";
pub const ACTION_HELP: &str = " help ";
pub const ACTION_BULK_TAG: &str = " bulk tag ";
pub const ACTION_RUN: &str = " run ";
pub const ACTION_TUNNELS: &str = " tunnels ";
pub const ACTION_SNIPPET: &str = " snippet ";
pub const ACTION_TERMINAL: &str = " terminal ";
pub const ACTION_NEW: &str = " new ";
pub const ACTION_HIDDEN: &str = " hidden ";
pub const ACTION_REFRESH: &str = " refresh ";
pub const ACTION_RESTART: &str = " restart ";
pub const ACTION_START: &str = " start ";
pub const ACTION_STOP: &str = " stop ";
pub const ACTION_ALL: &str = " all ";
// --- Tab / arrow / Space ---
/// Next field/pane. Used in every form and the file_browser.
pub const TAB_NEXT: &str = " next ";
/// Cycle through items in a list (arrow keys).
pub const ARROWS_SELECT: &str = " select ";
/// Toggle a focused boolean field.
pub const SPACE_TOGGLE: &str = " toggle ";
/// Open the focused picker (form picker fields).
pub const SPACE_PICK: &str = " pick ";
/// Cycle through tag states (bulk tag editor: include / exclude / no-op).
pub const SPACE_CYCLE: &str = " cycle ";
// --- Modifier shortcuts ---
pub const CTRL_C_CANCEL: &str = " cancel ";
// --- Snippet / file-browser specific ---
pub const SNIPPET_OUTPUT_COPY: &str = " copy ";
pub const FB_SELECT: &str = " select ";
// --- Help / scroll keys ---
pub const KEYS_SCROLL: &str = "j/k";
pub const LABEL_SCROLL: &str = " scroll ";
pub const KEYS_TOP_BOTTOM: &str = "g/G";
pub const LABEL_TOP_BOTTOM: &str = " top/bottom";
pub const KEYS_NEXT_PREV_HOST: &str = "n/N";
pub const LABEL_NEXT_PREV_HOST: &str = " next/prev host ";