1use super::command_options::{Arity, OptionSpec, UNREAD, row};
35
36pub const NEW_BRANCH: u16 = 1;
39pub const NEW_BRANCH_FORCE: u16 = 2;
42pub const ORPHAN: u16 = 3;
44pub const TRACK: u16 = 4;
48pub const GUESS: u16 = 5;
51pub const DETACH: u16 = 6;
54pub const PATCH: u16 = 7;
56pub const STAGE: u16 = 8;
58pub const OVERLAY: u16 = 9;
61pub const FORCE: u16 = 10;
63pub const DISCARD_CHANGES: u16 = 11;
65pub const PATHSPEC_FROM_FILE: u16 = 12;
67
68pub const CHECKOUT_TABLE: &[OptionSpec] = &[
85 row(NEW_BRANCH, Some(b'b'), None, Arity::Required, true),
86 row(NEW_BRANCH_FORCE, Some(b'B'), None, Arity::Required, true),
87 row(UNREAD, Some(b'l'), None, Arity::None, true),
88 row(GUESS, None, Some("guess"), Arity::None, true),
89 row(OVERLAY, None, Some("overlay"), Arity::None, true),
90 row(UNREAD, None, Some("auto-advance"), Arity::None, true),
91 row(UNREAD, Some(b'q'), Some("quiet"), Arity::None, true),
92 row(
93 UNREAD,
94 None,
95 Some("recurse-submodules"),
96 Arity::Optional,
97 true,
98 ),
99 row(UNREAD, None, Some("progress"), Arity::None, true),
100 row(UNREAD, Some(b'm'), Some("merge"), Arity::None, true),
101 row(UNREAD, None, Some("conflict"), Arity::Required, true),
102 row(DETACH, Some(b'd'), Some("detach"), Arity::None, true),
103 row(TRACK, Some(b't'), Some("track"), Arity::Optional, true),
104 row(FORCE, Some(b'f'), Some("force"), Arity::None, true),
105 row(ORPHAN, None, Some("orphan"), Arity::Required, true),
106 row(UNREAD, None, Some("overwrite-ignore"), Arity::None, true),
107 row(
108 UNREAD,
109 None,
110 Some("ignore-other-worktrees"),
111 Arity::None,
112 true,
113 ),
114 row(STAGE, Some(b'2'), Some("ours"), Arity::None, false),
115 row(STAGE, Some(b'3'), Some("theirs"), Arity::None, false),
116 row(PATCH, Some(b'p'), Some("patch"), Arity::None, true),
117 row(UNREAD, Some(b'U'), Some("unified"), Arity::Required, false),
118 row(
119 UNREAD,
120 None,
121 Some("inter-hunk-context"),
122 Arity::Required,
123 false,
124 ),
125 row(
126 UNREAD,
127 None,
128 Some("ignore-skip-worktree-bits"),
129 Arity::None,
130 true,
131 ),
132 row(
133 PATHSPEC_FROM_FILE,
134 None,
135 Some("pathspec-from-file"),
136 Arity::Required,
137 true,
138 ),
139 row(UNREAD, None, Some("pathspec-file-nul"), Arity::None, true),
140];
141
142pub const SWITCH_TABLE: &[OptionSpec] = &[
155 row(
156 NEW_BRANCH,
157 Some(b'c'),
158 Some("create"),
159 Arity::Required,
160 true,
161 ),
162 row(
163 NEW_BRANCH_FORCE,
164 Some(b'C'),
165 Some("force-create"),
166 Arity::Required,
167 true,
168 ),
169 row(GUESS, None, Some("guess"), Arity::None, true),
170 row(DISCARD_CHANGES, None, Some("discard-changes"), Arity::None, true),
171 row(UNREAD, Some(b'q'), Some("quiet"), Arity::None, true),
172 row(
173 UNREAD,
174 None,
175 Some("recurse-submodules"),
176 Arity::Optional,
177 true,
178 ),
179 row(UNREAD, None, Some("progress"), Arity::None, true),
180 row(UNREAD, Some(b'm'), Some("merge"), Arity::None, true),
181 row(UNREAD, None, Some("conflict"), Arity::Required, true),
182 row(DETACH, Some(b'd'), Some("detach"), Arity::None, true),
183 row(TRACK, Some(b't'), Some("track"), Arity::Optional, true),
184 row(FORCE, Some(b'f'), Some("force"), Arity::None, true),
185 row(ORPHAN, None, Some("orphan"), Arity::Required, true),
186 row(UNREAD, None, Some("overwrite-ignore"), Arity::None, true),
187 row(
188 UNREAD,
189 None,
190 Some("ignore-other-worktrees"),
191 Arity::None,
192 true,
193 ),
194];