#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(u8)]
pub enum Cmd {
Relax = 0,
LeftBrace = 1,
RightBrace = 2,
MathShift = 3,
TabMark = 4,
CarRet = 5,
MacParam = 6,
SupMark = 7,
SubMark = 8,
Endv = 9,
Spacer = 10,
Letter = 11,
OtherChar = 12,
ParEnd = 13,
Stop = 14,
DelimNum = 15,
CharNum = 16,
MathCharNum = 17,
Mark = 18,
Node = 19,
Xray = 20,
MakeBox = 21,
Hmove = 22,
Vmove = 23,
UnHbox = 24,
UnVbox = 25,
RemoveItem = 26,
Hskip = 27,
Vskip = 28,
Mskip = 29,
Kern = 30,
Mkern = 31,
LeaderShip = 32,
Halign = 33,
Valign = 34,
NoAlign = 35,
Vrule = 36,
Hrule = 37,
Novrule = 38,
Nohrule = 39,
Insert = 40,
Vadjust = 41,
IgnoreSpaces = 42,
AfterAssignment = 43,
AfterGroup = 44,
PartokenName = 45,
BreakPenalty = 46,
StartPar = 47,
ItalCorr = 48,
Accent = 49,
MathAccent = 50,
Discretionary = 51,
EqNo = 52,
LeftRight = 53,
MathComp = 54,
LimitSwitch = 55,
Above = 56,
MathStyle = 57,
MathChoice = 58,
NonScript = 59,
Vcenter = 60,
CaseShift = 61,
Message = 62,
Normal = 63,
Extension = 64,
Option = 65,
LuaFunctionCall = 66,
LuaBytecodeCall = 67,
LuaCall = 68,
InStream = 69,
BeginGroup = 70,
EndGroup = 71,
Omit = 72,
ExSpace = 73,
Boundary = 74,
Radical = 75,
SuperSubScript = 76,
NoSuperSubScript = 77,
MathShiftCs = 78,
EndCsName = 79,
CharGhost = 80,
AssignLocalBox = 81,
CharGiven = 82,
MathGiven = 83,
XmathGiven = 84,
LastItem = 85,
ToksRegister = 86,
AssignToks = 87,
AssignInt = 88,
AssignAttr = 89,
AssignDimen = 90,
AssignGlue = 91,
AssignMuGlue = 92,
AssignFontDimen = 93,
AssignFontInt = 94,
AssignHangIndent = 95,
SetAux = 96,
SetPrevGraf = 97,
SetPageDimen = 98,
SetPageInt = 99,
SetBoxDimen = 100,
SetTexShape = 101,
SetEtexShape = 102,
DefCharCode = 103,
DefDelCode = 104,
ExtdefMathCode = 105,
ExtdefDelCode = 106,
DefFamily = 107,
SetMathParam = 108,
SetFont = 109,
DefFont = 110,
Register = 111,
AssignBoxDirection = 112,
AssignBoxDir = 113,
AssignDirection = 114,
AssignDir = 115,
Combinetoks = 116,
Advance = 117,
Multiply = 118,
Divide = 119,
Prefix = 120,
Let = 121,
ShorthandDef = 122,
DefLuaCall = 123,
ReadToCs = 124,
Def = 125,
SetBox = 126,
HyphData = 127,
SetInteraction = 128,
LetterspaceFont = 129,
ExpandFont = 130,
CopyFont = 131,
SetFontId = 132,
UndefinedCs = 133,
ExpandAfter = 134,
NoExpand = 135,
Input = 136,
LuaExpandableCall = 137,
LuaLocalCall = 138,
IfTest = 139,
FiOrElse = 140,
CsName = 141,
Convert = 142,
Variable = 143,
Feedback = 144,
The = 145,
TopBotMark = 146,
Call = 147,
LongCall = 148,
OuterCall = 149,
LongOuterCall = 150,
EndTemplate = 151,
DontExpand = 152,
GlueRef = 153,
ShapeRef = 154,
BoxRef = 155,
Data = 156,
}
impl Cmd {
pub const ALL: [Cmd; 157] = [
Cmd::Relax,
Cmd::LeftBrace,
Cmd::RightBrace,
Cmd::MathShift,
Cmd::TabMark,
Cmd::CarRet,
Cmd::MacParam,
Cmd::SupMark,
Cmd::SubMark,
Cmd::Endv,
Cmd::Spacer,
Cmd::Letter,
Cmd::OtherChar,
Cmd::ParEnd,
Cmd::Stop,
Cmd::DelimNum,
Cmd::CharNum,
Cmd::MathCharNum,
Cmd::Mark,
Cmd::Node,
Cmd::Xray,
Cmd::MakeBox,
Cmd::Hmove,
Cmd::Vmove,
Cmd::UnHbox,
Cmd::UnVbox,
Cmd::RemoveItem,
Cmd::Hskip,
Cmd::Vskip,
Cmd::Mskip,
Cmd::Kern,
Cmd::Mkern,
Cmd::LeaderShip,
Cmd::Halign,
Cmd::Valign,
Cmd::NoAlign,
Cmd::Vrule,
Cmd::Hrule,
Cmd::Novrule,
Cmd::Nohrule,
Cmd::Insert,
Cmd::Vadjust,
Cmd::IgnoreSpaces,
Cmd::AfterAssignment,
Cmd::AfterGroup,
Cmd::PartokenName,
Cmd::BreakPenalty,
Cmd::StartPar,
Cmd::ItalCorr,
Cmd::Accent,
Cmd::MathAccent,
Cmd::Discretionary,
Cmd::EqNo,
Cmd::LeftRight,
Cmd::MathComp,
Cmd::LimitSwitch,
Cmd::Above,
Cmd::MathStyle,
Cmd::MathChoice,
Cmd::NonScript,
Cmd::Vcenter,
Cmd::CaseShift,
Cmd::Message,
Cmd::Normal,
Cmd::Extension,
Cmd::Option,
Cmd::LuaFunctionCall,
Cmd::LuaBytecodeCall,
Cmd::LuaCall,
Cmd::InStream,
Cmd::BeginGroup,
Cmd::EndGroup,
Cmd::Omit,
Cmd::ExSpace,
Cmd::Boundary,
Cmd::Radical,
Cmd::SuperSubScript,
Cmd::NoSuperSubScript,
Cmd::MathShiftCs,
Cmd::EndCsName,
Cmd::CharGhost,
Cmd::AssignLocalBox,
Cmd::CharGiven,
Cmd::MathGiven,
Cmd::XmathGiven,
Cmd::LastItem,
Cmd::ToksRegister,
Cmd::AssignToks,
Cmd::AssignInt,
Cmd::AssignAttr,
Cmd::AssignDimen,
Cmd::AssignGlue,
Cmd::AssignMuGlue,
Cmd::AssignFontDimen,
Cmd::AssignFontInt,
Cmd::AssignHangIndent,
Cmd::SetAux,
Cmd::SetPrevGraf,
Cmd::SetPageDimen,
Cmd::SetPageInt,
Cmd::SetBoxDimen,
Cmd::SetTexShape,
Cmd::SetEtexShape,
Cmd::DefCharCode,
Cmd::DefDelCode,
Cmd::ExtdefMathCode,
Cmd::ExtdefDelCode,
Cmd::DefFamily,
Cmd::SetMathParam,
Cmd::SetFont,
Cmd::DefFont,
Cmd::Register,
Cmd::AssignBoxDirection,
Cmd::AssignBoxDir,
Cmd::AssignDirection,
Cmd::AssignDir,
Cmd::Combinetoks,
Cmd::Advance,
Cmd::Multiply,
Cmd::Divide,
Cmd::Prefix,
Cmd::Let,
Cmd::ShorthandDef,
Cmd::DefLuaCall,
Cmd::ReadToCs,
Cmd::Def,
Cmd::SetBox,
Cmd::HyphData,
Cmd::SetInteraction,
Cmd::LetterspaceFont,
Cmd::ExpandFont,
Cmd::CopyFont,
Cmd::SetFontId,
Cmd::UndefinedCs,
Cmd::ExpandAfter,
Cmd::NoExpand,
Cmd::Input,
Cmd::LuaExpandableCall,
Cmd::LuaLocalCall,
Cmd::IfTest,
Cmd::FiOrElse,
Cmd::CsName,
Cmd::Convert,
Cmd::Variable,
Cmd::Feedback,
Cmd::The,
Cmd::TopBotMark,
Cmd::Call,
Cmd::LongCall,
Cmd::OuterCall,
Cmd::LongOuterCall,
Cmd::EndTemplate,
Cmd::DontExpand,
Cmd::GlueRef,
Cmd::ShapeRef,
Cmd::BoxRef,
Cmd::Data,
];
pub fn name(self) -> &'static str {
match self {
Cmd::Relax => "relax",
Cmd::LeftBrace => "left_brace",
Cmd::RightBrace => "right_brace",
Cmd::MathShift => "math_shift",
Cmd::TabMark => "tab_mark",
Cmd::CarRet => "car_ret",
Cmd::MacParam => "mac_param",
Cmd::SupMark => "sup_mark",
Cmd::SubMark => "sub_mark",
Cmd::Endv => "endv",
Cmd::Spacer => "spacer",
Cmd::Letter => "letter",
Cmd::OtherChar => "other_char",
Cmd::ParEnd => "par_end",
Cmd::Stop => "stop",
Cmd::DelimNum => "delim_num",
Cmd::CharNum => "char_num",
Cmd::MathCharNum => "math_char_num",
Cmd::Mark => "mark",
Cmd::Node => "node",
Cmd::Xray => "xray",
Cmd::MakeBox => "make_box",
Cmd::Hmove => "hmove",
Cmd::Vmove => "vmove",
Cmd::UnHbox => "un_hbox",
Cmd::UnVbox => "un_vbox",
Cmd::RemoveItem => "remove_item",
Cmd::Hskip => "hskip",
Cmd::Vskip => "vskip",
Cmd::Mskip => "mskip",
Cmd::Kern => "kern",
Cmd::Mkern => "mkern",
Cmd::LeaderShip => "leader_ship",
Cmd::Halign => "halign",
Cmd::Valign => "valign",
Cmd::NoAlign => "no_align",
Cmd::Vrule => "vrule",
Cmd::Hrule => "hrule",
Cmd::Novrule => "novrule",
Cmd::Nohrule => "nohrule",
Cmd::Insert => "insert",
Cmd::Vadjust => "vadjust",
Cmd::IgnoreSpaces => "ignore_spaces",
Cmd::AfterAssignment => "after_assignment",
Cmd::AfterGroup => "after_group",
Cmd::PartokenName => "partoken_name",
Cmd::BreakPenalty => "break_penalty",
Cmd::StartPar => "start_par",
Cmd::ItalCorr => "ital_corr",
Cmd::Accent => "accent",
Cmd::MathAccent => "math_accent",
Cmd::Discretionary => "discretionary",
Cmd::EqNo => "eq_no",
Cmd::LeftRight => "left_right",
Cmd::MathComp => "math_comp",
Cmd::LimitSwitch => "limit_switch",
Cmd::Above => "above",
Cmd::MathStyle => "math_style",
Cmd::MathChoice => "math_choice",
Cmd::NonScript => "non_script",
Cmd::Vcenter => "vcenter",
Cmd::CaseShift => "case_shift",
Cmd::Message => "message",
Cmd::Normal => "normal",
Cmd::Extension => "extension",
Cmd::Option => "option",
Cmd::LuaFunctionCall => "lua_function_call",
Cmd::LuaBytecodeCall => "lua_bytecode_call",
Cmd::LuaCall => "lua_call",
Cmd::InStream => "in_stream",
Cmd::BeginGroup => "begin_group",
Cmd::EndGroup => "end_group",
Cmd::Omit => "omit",
Cmd::ExSpace => "ex_space",
Cmd::Boundary => "boundary",
Cmd::Radical => "radical",
Cmd::SuperSubScript => "super_sub_script",
Cmd::NoSuperSubScript => "no_super_sub_script",
Cmd::MathShiftCs => "math_shift_cs",
Cmd::EndCsName => "end_cs_name",
Cmd::CharGhost => "char_ghost",
Cmd::AssignLocalBox => "assign_local_box",
Cmd::CharGiven => "char_given",
Cmd::MathGiven => "math_given",
Cmd::XmathGiven => "xmath_given",
Cmd::LastItem => "last_item",
Cmd::ToksRegister => "toks_register",
Cmd::AssignToks => "assign_toks",
Cmd::AssignInt => "assign_int",
Cmd::AssignAttr => "assign_attr",
Cmd::AssignDimen => "assign_dimen",
Cmd::AssignGlue => "assign_glue",
Cmd::AssignMuGlue => "assign_mu_glue",
Cmd::AssignFontDimen => "assign_font_dimen",
Cmd::AssignFontInt => "assign_font_int",
Cmd::AssignHangIndent => "assign_hang_indent",
Cmd::SetAux => "set_aux",
Cmd::SetPrevGraf => "set_prev_graf",
Cmd::SetPageDimen => "set_page_dimen",
Cmd::SetPageInt => "set_page_int",
Cmd::SetBoxDimen => "set_box_dimen",
Cmd::SetTexShape => "set_tex_shape",
Cmd::SetEtexShape => "set_etex_shape",
Cmd::DefCharCode => "def_char_code",
Cmd::DefDelCode => "def_del_code",
Cmd::ExtdefMathCode => "extdef_math_code",
Cmd::ExtdefDelCode => "extdef_del_code",
Cmd::DefFamily => "def_family",
Cmd::SetMathParam => "set_math_param",
Cmd::SetFont => "set_font",
Cmd::DefFont => "def_font",
Cmd::Register => "register",
Cmd::AssignBoxDirection => "assign_box_direction",
Cmd::AssignBoxDir => "assign_box_dir",
Cmd::AssignDirection => "assign_direction",
Cmd::AssignDir => "assign_dir",
Cmd::Combinetoks => "combinetoks",
Cmd::Advance => "advance",
Cmd::Multiply => "multiply",
Cmd::Divide => "divide",
Cmd::Prefix => "prefix",
Cmd::Let => "let",
Cmd::ShorthandDef => "shorthand_def",
Cmd::DefLuaCall => "def_lua_call",
Cmd::ReadToCs => "read_to_cs",
Cmd::Def => "def",
Cmd::SetBox => "set_box",
Cmd::HyphData => "hyph_data",
Cmd::SetInteraction => "set_interaction",
Cmd::LetterspaceFont => "letterspace_font",
Cmd::ExpandFont => "expand_font",
Cmd::CopyFont => "copy_font",
Cmd::SetFontId => "set_font_id",
Cmd::UndefinedCs => "undefined_cs",
Cmd::ExpandAfter => "expand_after",
Cmd::NoExpand => "no_expand",
Cmd::Input => "input",
Cmd::LuaExpandableCall => "lua_expandable_call",
Cmd::LuaLocalCall => "lua_local_call",
Cmd::IfTest => "if_test",
Cmd::FiOrElse => "fi_or_else",
Cmd::CsName => "cs_name",
Cmd::Convert => "convert",
Cmd::Variable => "variable",
Cmd::Feedback => "feedback",
Cmd::The => "the",
Cmd::TopBotMark => "top_bot_mark",
Cmd::Call => "call",
Cmd::LongCall => "long_call",
Cmd::OuterCall => "outer_call",
Cmd::LongOuterCall => "long_outer_call",
Cmd::EndTemplate => "end_template",
Cmd::DontExpand => "dont_expand",
Cmd::GlueRef => "glue_ref",
Cmd::ShapeRef => "shape_ref",
Cmd::BoxRef => "box_ref",
Cmd::Data => "data",
}
}
}