use crate::command_options::{Arity, OptionSpec, UNREAD, row};
pub const NEW_BRANCH: u16 = 1;
pub const NEW_BRANCH_FORCE: u16 = 2;
pub const ORPHAN: u16 = 3;
pub const TRACK: u16 = 4;
pub const GUESS: u16 = 5;
pub const DETACH: u16 = 6;
pub const PATCH: u16 = 7;
pub const STAGE: u16 = 8;
pub const OVERLAY: u16 = 9;
pub const FORCE: u16 = 10;
pub const DISCARD_CHANGES: u16 = 11;
pub const PATHSPEC_FROM_FILE: u16 = 12;
pub const CHECKOUT_TABLE: &[OptionSpec] = &[
row(NEW_BRANCH, Some(b'b'), None, Arity::Required, true),
row(NEW_BRANCH_FORCE, Some(b'B'), None, Arity::Required, true),
row(UNREAD, Some(b'l'), None, Arity::None, true),
row(GUESS, None, Some("guess"), Arity::None, true),
row(OVERLAY, None, Some("overlay"), Arity::None, true),
row(UNREAD, None, Some("auto-advance"), Arity::None, true),
row(UNREAD, Some(b'q'), Some("quiet"), Arity::None, true),
row(
UNREAD,
None,
Some("recurse-submodules"),
Arity::Optional,
true,
),
row(UNREAD, None, Some("progress"), Arity::None, true),
row(UNREAD, Some(b'm'), Some("merge"), Arity::None, true),
row(UNREAD, None, Some("conflict"), Arity::Required, true),
row(DETACH, Some(b'd'), Some("detach"), Arity::None, true),
row(TRACK, Some(b't'), Some("track"), Arity::Optional, true),
row(FORCE, Some(b'f'), Some("force"), Arity::None, true),
row(ORPHAN, None, Some("orphan"), Arity::Required, true),
row(UNREAD, None, Some("overwrite-ignore"), Arity::None, true),
row(
UNREAD,
None,
Some("ignore-other-worktrees"),
Arity::None,
true,
),
row(STAGE, Some(b'2'), Some("ours"), Arity::None, false),
row(STAGE, Some(b'3'), Some("theirs"), Arity::None, false),
row(PATCH, Some(b'p'), Some("patch"), Arity::None, true),
row(UNREAD, Some(b'U'), Some("unified"), Arity::Required, false),
row(
UNREAD,
None,
Some("inter-hunk-context"),
Arity::Required,
false,
),
row(
UNREAD,
None,
Some("ignore-skip-worktree-bits"),
Arity::None,
true,
),
row(
PATHSPEC_FROM_FILE,
None,
Some("pathspec-from-file"),
Arity::Required,
true,
),
row(UNREAD, None, Some("pathspec-file-nul"), Arity::None, true),
];
pub const SWITCH_TABLE: &[OptionSpec] = &[
row(
NEW_BRANCH,
Some(b'c'),
Some("create"),
Arity::Required,
true,
),
row(
NEW_BRANCH_FORCE,
Some(b'C'),
Some("force-create"),
Arity::Required,
true,
),
row(GUESS, None, Some("guess"), Arity::None, true),
row(DISCARD_CHANGES, None, Some("discard-changes"), Arity::None, true),
row(UNREAD, Some(b'q'), Some("quiet"), Arity::None, true),
row(
UNREAD,
None,
Some("recurse-submodules"),
Arity::Optional,
true,
),
row(UNREAD, None, Some("progress"), Arity::None, true),
row(UNREAD, Some(b'm'), Some("merge"), Arity::None, true),
row(UNREAD, None, Some("conflict"), Arity::Required, true),
row(DETACH, Some(b'd'), Some("detach"), Arity::None, true),
row(TRACK, Some(b't'), Some("track"), Arity::Optional, true),
row(FORCE, Some(b'f'), Some("force"), Arity::None, true),
row(ORPHAN, None, Some("orphan"), Arity::Required, true),
row(UNREAD, None, Some("overwrite-ignore"), Arity::None, true),
row(
UNREAD,
None,
Some("ignore-other-worktrees"),
Arity::None,
true,
),
];