// arg_types.cc is generated by frontend/flag_gen.py

#include "arg_types.h"
using runtime_asdl::flag_type_e;

namespace arg_types {

const char* arity0_3[] = {"L", "P", nullptr};

DefaultPair_c defaults_3[] = {
    {"L", flag_type_e::Bool, {.b = false}},
    {"P", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_4[] = {"V", "p", "v", nullptr};

DefaultPair_c defaults_4[] = {
    {"V", flag_type_e::Bool, {.b = false}},
    {"p", flag_type_e::Bool, {.b = false}},
    {"v", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_6[] = {"c", "l", "p", "v", nullptr};

DefaultPair_c defaults_6[] = {
    {"c", flag_type_e::Bool, {.b = false}},
    {"l", flag_type_e::Bool, {.b = false}},
    {"p", flag_type_e::Bool, {.b = false}},
    {"v", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_7[] = {"e", "n", nullptr};

DefaultPair_c defaults_7[] = {
    {"e", flag_type_e::Bool, {.b = false}},
    {"n", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_11[] = {"f", "n", "p", nullptr};

DefaultPair_c defaults_11[] = {
    {"f", flag_type_e::Bool, {.b = false}},
    {"n", flag_type_e::Bool, {.b = false}},
    {"p", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_16[] = {"r", nullptr};

DefaultPair_c defaults_16[] = {
    {"r", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_18[] = {"a", "c", "r", nullptr};

Action_c arity1_18[] = {
    {"d", ActionType_c::SetToInt, "d", nullptr},
    {},
};

DefaultPair_c defaults_18[] = {
    {"a", flag_type_e::Bool, {.b = false}},
    {"c", flag_type_e::Bool, {.b = false}},
    {"d", flag_type_e::Int, {.i = -1}},
    {"r", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_19[] = {"l", "p", nullptr};

Action_c actions_long_19[] = {
    {"debug", ActionType_c::SetToTrue, "debug", nullptr},
    {},
};

DefaultPair_c defaults_19[] = {
    {"debug", flag_type_e::Bool, {.b = false}},
    {"l", flag_type_e::Bool, {.b = false}},
    {"p", flag_type_e::Bool, {.b = false}},
    {},
};

Action_c actions_long_21[] = {
    {"indent", ActionType_c::SetToInt, "indent", nullptr},
    {"pretty", ActionType_c::SetAttachedBool, "pretty", nullptr},
    {"surrogate-ok", ActionType_c::SetAttachedBool, "surrogate-ok", nullptr},
    {},
};

DefaultPair_c defaults_21[] = {
    {"indent", flag_type_e::Int, {.i = 2}},
    {"pretty", flag_type_e::Bool, {.b = true}},
    {"surrogate-ok", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_22[] = {"t", nullptr};

DefaultPair_c defaults_22[] = {
    {"t", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_24[] = {"A", "F", "a", "f", "g", "i", "l", "p", "u", nullptr};

const char* plus_24[] = {"n", "r", "x", nullptr};

DefaultPair_c defaults_24[] = {
    {"A", flag_type_e::Bool, {.b = false}},
    {"F", flag_type_e::Bool, {.b = false}},
    {"a", flag_type_e::Bool, {.b = false}},
    {"f", flag_type_e::Bool, {.b = false}},
    {"g", flag_type_e::Bool, {.b = false}},
    {"i", flag_type_e::Bool, {.b = false}},
    {"l", flag_type_e::Bool, {.b = false}},
    {"n", flag_type_e::Str, {}},
    {"p", flag_type_e::Bool, {.b = false}},
    {"r", flag_type_e::Str, {}},
    {"u", flag_type_e::Bool, {.b = false}},
    {"x", flag_type_e::Str, {}},
    {},
};

Action_c arity1_27[] = {
    {"v", ActionType_c::SetToString, "v", nullptr},
    {},
};

DefaultPair_c defaults_27[] = {
    {"v", flag_type_e::Str, {}},
    {},
};

const char* arity0_30[] = {"L", "P", nullptr};

DefaultPair_c defaults_30[] = {
    {"L", flag_type_e::Bool, {.b = false}},
    {"P", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_31[] = {"Z", "r", "s", nullptr};

Action_c arity1_31[] = {
    {"N", ActionType_c::SetToInt, "N", nullptr},
    {"a", ActionType_c::SetToString, "a", nullptr},
    {"d", ActionType_c::SetToString, "d", nullptr},
    {"n", ActionType_c::SetToInt, "n", nullptr},
    {"p", ActionType_c::SetToString, "p", nullptr},
    {"t", ActionType_c::SetToFloat, "t", nullptr},
    {"u", ActionType_c::SetToInt, "u", nullptr},
    {},
};

Action_c actions_long_31[] = {
    {"all", ActionType_c::SetToTrue, "all", nullptr},
    {"num-bytes", ActionType_c::SetToInt, "num-bytes", nullptr},
    {"raw-line", ActionType_c::SetToTrue, "raw-line", nullptr},
    {"with-eol", ActionType_c::SetToTrue, "with-eol", nullptr},
    {},
};

DefaultPair_c defaults_31[] = {
    {"N", flag_type_e::Int, {.i = -1}},
    {"Z", flag_type_e::Bool, {.b = false}},
    {"a", flag_type_e::Str, {}},
    {"all", flag_type_e::Bool, {.b = false}},
    {"d", flag_type_e::Str, {}},
    {"n", flag_type_e::Int, {.i = -1}},
    {"num-bytes", flag_type_e::Int, {.i = -1}},
    {"p", flag_type_e::Str, {}},
    {"r", flag_type_e::Bool, {.b = false}},
    {"raw-line", flag_type_e::Bool, {.b = false}},
    {"s", flag_type_e::Bool, {.b = false}},
    {"t", flag_type_e::Float, {.f = -1.0}},
    {"u", flag_type_e::Int, {.i = -1}},
    {"with-eol", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_32[] = {"A", "a", "p", nullptr};

DefaultPair_c defaults_32[] = {
    {"A", flag_type_e::Bool, {.b = false}},
    {"a", flag_type_e::Bool, {.b = false}},
    {"p", flag_type_e::Bool, {.b = false}},
    {},
};

Action_c arity1_33[] = {
    {"h", ActionType_c::SetAttachedBool, "h", nullptr},
    {},
};

DefaultPair_c defaults_33[] = {
    {"h", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_34[] = {"o", "p", "q", "s", "u", nullptr};

Action_c actions_long_34[] = {
    {"set", ActionType_c::SetToTrue, "s", nullptr},
    {"unset", ActionType_c::SetToTrue, "u", nullptr},
    {},
};

DefaultPair_c defaults_34[] = {
    {"o", flag_type_e::Bool, {.b = false}},
    {"p", flag_type_e::Bool, {.b = false}},
    {"q", flag_type_e::Bool, {.b = false}},
    {"s", flag_type_e::Bool, {.b = false}},
    {"u", flag_type_e::Bool, {.b = false}},
    {},
};

Action_c actions_long_37[] = {
    {"builtin", ActionType_c::SetToTrue, "builtin", nullptr},
    {},
};

DefaultPair_c defaults_37[] = {
    {"builtin", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_38[] = {"l", "p", nullptr};

DefaultPair_c defaults_38[] = {
    {"l", flag_type_e::Bool, {.b = false}},
    {"p", flag_type_e::Bool, {.b = false}},
    {},
};

Action_c actions_long_39[] = {
    {"assign", ActionType_c::SetToString, "assign", nullptr},
    {},
};

DefaultPair_c defaults_39[] = {
    {"assign", flag_type_e::Str, {}},
    {},
};

const char* arity0_40[] = {"P", "a", "f", "p", "t", nullptr};

DefaultPair_c defaults_40[] = {
    {"P", flag_type_e::Bool, {.b = false}},
    {"a", flag_type_e::Bool, {.b = false}},
    {"f", flag_type_e::Bool, {.b = false}},
    {"p", flag_type_e::Bool, {.b = false}},
    {"t", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_41[] = {"H", "S", "a", "c", "d", "f", "n", "s", "t", "v", nullptr};

Action_c actions_long_41[] = {
    {"all", ActionType_c::SetToTrue, "all", nullptr},
    {},
};

DefaultPair_c defaults_41[] = {
    {"H", flag_type_e::Bool, {.b = false}},
    {"S", flag_type_e::Bool, {.b = false}},
    {"a", flag_type_e::Bool, {.b = false}},
    {"all", flag_type_e::Bool, {.b = false}},
    {"c", flag_type_e::Bool, {.b = false}},
    {"d", flag_type_e::Bool, {.b = false}},
    {"f", flag_type_e::Bool, {.b = false}},
    {"n", flag_type_e::Bool, {.b = false}},
    {"s", flag_type_e::Bool, {.b = false}},
    {"t", flag_type_e::Bool, {.b = false}},
    {"v", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_42[] = {"a", nullptr};

DefaultPair_c defaults_42[] = {
    {"a", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_43[] = {"f", "v", nullptr};

DefaultPair_c defaults_43[] = {
    {"f", flag_type_e::Bool, {.b = false}},
    {"v", flag_type_e::Bool, {.b = false}},
    {},
};

const char* arity0_44[] = {"n", nullptr};

DefaultPair_c defaults_44[] = {
    {"n", flag_type_e::Bool, {.b = false}},
    {},
};

Action_c arity1_45[] = {
    {"n", ActionType_c::SetAttachedBool, "n", nullptr},
    {},
};

Action_c actions_long_45[] = {
    {"end", ActionType_c::SetToString, "end", nullptr},
    {"j8", ActionType_c::SetAttachedBool, "j8", nullptr},
    {"json", ActionType_c::SetAttachedBool, "json", nullptr},
    {"sep", ActionType_c::SetToString, "sep", nullptr},
    {},
};

DefaultPair_c defaults_45[] = {
    {"end", flag_type_e::Str, {.s = "\n"}},
    {"j8", flag_type_e::Bool, {.b = false}},
    {"json", flag_type_e::Bool, {.b = false}},
    {"n", flag_type_e::Bool, {.b = false}},
    {"sep", flag_type_e::Str, {.s = "\n"}},
    {},
};

FlagSpec_c kFlagSpecs[] = {
    { "alias", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "append", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "boolstatus", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "cd", arity0_3, nullptr, nullptr, nullptr, defaults_3 },
    { "command", arity0_4, nullptr, nullptr, nullptr, defaults_4 },
    { "ctx", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "dirs", arity0_6, nullptr, nullptr, nullptr, defaults_6 },
    { "echo", arity0_7, nullptr, nullptr, nullptr, defaults_7 },
    { "error", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "eval", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "exec", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "export_", arity0_11, nullptr, nullptr, nullptr, defaults_11 },
    { "failed", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "fopen", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "fork", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "forkwait", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "hash", arity0_16, nullptr, nullptr, nullptr, defaults_16 },
    { "help", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "history", arity0_18, arity1_18, nullptr, nullptr, defaults_18 },
    { "jobs", arity0_19, nullptr, actions_long_19, nullptr, defaults_19 },
    { "json_read", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "json_write", nullptr, nullptr, actions_long_21, nullptr, defaults_21 },
    { "mapfile", arity0_22, nullptr, nullptr, nullptr, defaults_22 },
    { "module", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "new_var", arity0_24, nullptr, nullptr, plus_24, defaults_24 },
    { "popd", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "pp", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "printf", nullptr, arity1_27, nullptr, nullptr, defaults_27 },
    { "push-registers", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "pushd", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "pwd", arity0_30, nullptr, nullptr, nullptr, defaults_30 },
    { "read", arity0_31, arity1_31, actions_long_31, nullptr, defaults_31 },
    { "readonly", arity0_32, nullptr, nullptr, nullptr, defaults_32 },
    { "runproc", nullptr, arity1_33, nullptr, nullptr, defaults_33 },
    { "shopt", arity0_34, nullptr, actions_long_34, nullptr, defaults_34 },
    { "shvar", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "shvm", nullptr, nullptr, nullptr, nullptr, nullptr },
    { "source", nullptr, nullptr, actions_long_37, nullptr, defaults_37 },
    { "trap", arity0_38, nullptr, nullptr, nullptr, defaults_38 },
    { "try_", nullptr, nullptr, actions_long_39, nullptr, defaults_39 },
    { "type", arity0_40, nullptr, nullptr, nullptr, defaults_40 },
    { "ulimit", arity0_41, nullptr, actions_long_41, nullptr, defaults_41 },
    { "unalias", arity0_42, nullptr, nullptr, nullptr, defaults_42 },
    { "unset", arity0_43, nullptr, nullptr, nullptr, defaults_43 },
    { "wait", arity0_44, nullptr, nullptr, nullptr, defaults_44 },
    { "write", nullptr, arity1_45, actions_long_45, nullptr, defaults_45 },
    {},
};

Action_c short_46[] = {
    {"n", ActionType_c::SetToString, "n", nullptr},
    {"s", ActionType_c::SetToTrue, "s", nullptr},
    {},
};

DefaultPair_c defaults_46[] = {
    {"n", flag_type_e::Str, {}},
    {"s", flag_type_e::Bool, {.b = false}},
    {},
};

Action_c short_47[] = {
    {"c", ActionType_c::SetToString, "c", nullptr},
    {},
};

const char* params_0[] = {"jlines", "tsv8", nullptr};

Action_c long_47[] = {
    {"begin", ActionType_c::SetToInt, "begin", nullptr},
    {"end", ActionType_c::SetToInt, "end", nullptr},
    {"format", ActionType_c::SetToString, "format", params_0},
    {},
};

DefaultPair_c defaults_47[] = {
    {"begin", flag_type_e::Int, {.i = -1}},
    {"c", flag_type_e::Str, {}},
    {"end", flag_type_e::Int, {.i = -1}},
    {"format", flag_type_e::Str, {.s = "jlines"}},
    {},
};

const char* params_1[] = {"alias", "binding", "builtin", "command", "directory", "export", "file", "function", "helptopic", "job", "keyword", "setopt", "shopt", "signal", "stopped", "user", "variable", nullptr};

const char* params_2[] = {"bashdefault", "default", "dirnames", "filenames", "nospace", "plusdirs", nullptr};

Action_c short_48[] = {
    {"A", ActionType_c::SetNamedAction, nullptr, params_1},
    {"C", ActionType_c::SetToString, "C", nullptr},
    {"F", ActionType_c::SetToString, "F", nullptr},
    {"P", ActionType_c::SetToString, "P", nullptr},
    {"S", ActionType_c::SetToString, "S", nullptr},
    {"W", ActionType_c::SetToString, "W", nullptr},
    {"X", ActionType_c::SetToString, "X", nullptr},
    {"a", ActionType_c::SetAction, "alias", nullptr},
    {"b", ActionType_c::SetAction, "binding", nullptr},
    {"c", ActionType_c::SetAction, "command", nullptr},
    {"d", ActionType_c::SetAction, "directory", nullptr},
    {"e", ActionType_c::SetAction, "export", nullptr},
    {"f", ActionType_c::SetAction, "file", nullptr},
    {"j", ActionType_c::SetAction, "job", nullptr},
    {"k", ActionType_c::SetAction, "keyword", nullptr},
    {"o", ActionType_c::SetNamedOption, nullptr, params_2},
    {"u", ActionType_c::SetAction, "user", nullptr},
    {"v", ActionType_c::SetAction, "variable", nullptr},
    {},
};

const char* plus_2[] = {"o", nullptr};

DefaultPair_c defaults_48[] = {
    {"C", flag_type_e::Str, {}},
    {"F", flag_type_e::Str, {}},
    {"P", flag_type_e::Str, {}},
    {"S", flag_type_e::Str, {}},
    {"W", flag_type_e::Str, {}},
    {"X", flag_type_e::Str, {}},
    {},
};

const char* params_3[] = {"alias", "binding", "builtin", "command", "directory", "export", "file", "function", "helptopic", "job", "keyword", "setopt", "shopt", "signal", "stopped", "user", "variable", nullptr};

const char* params_4[] = {"bashdefault", "default", "dirnames", "filenames", "nospace", "plusdirs", nullptr};

Action_c short_49[] = {
    {"A", ActionType_c::SetNamedAction, nullptr, params_3},
    {"C", ActionType_c::SetToString, "C", nullptr},
    {"D", ActionType_c::SetToTrue, "D", nullptr},
    {"E", ActionType_c::SetToTrue, "E", nullptr},
    {"F", ActionType_c::SetToString, "F", nullptr},
    {"P", ActionType_c::SetToString, "P", nullptr},
    {"S", ActionType_c::SetToString, "S", nullptr},
    {"W", ActionType_c::SetToString, "W", nullptr},
    {"X", ActionType_c::SetToString, "X", nullptr},
    {"a", ActionType_c::SetAction, "alias", nullptr},
    {"b", ActionType_c::SetAction, "binding", nullptr},
    {"c", ActionType_c::SetAction, "command", nullptr},
    {"d", ActionType_c::SetAction, "directory", nullptr},
    {"e", ActionType_c::SetAction, "export", nullptr},
    {"f", ActionType_c::SetAction, "file", nullptr},
    {"j", ActionType_c::SetAction, "job", nullptr},
    {"k", ActionType_c::SetAction, "keyword", nullptr},
    {"o", ActionType_c::SetNamedOption, nullptr, params_4},
    {"u", ActionType_c::SetAction, "user", nullptr},
    {"v", ActionType_c::SetAction, "variable", nullptr},
    {},
};

const char* plus_3[] = {"o", nullptr};

DefaultPair_c defaults_49[] = {
    {"C", flag_type_e::Str, {}},
    {"D", flag_type_e::Bool, {.b = false}},
    {"E", flag_type_e::Bool, {.b = false}},
    {"F", flag_type_e::Str, {}},
    {"P", flag_type_e::Str, {}},
    {"S", flag_type_e::Str, {}},
    {"W", flag_type_e::Str, {}},
    {"X", flag_type_e::Str, {}},
    {},
};

const char* params_5[] = {"bashdefault", "default", "dirnames", "filenames", "nospace", "plusdirs", nullptr};

Action_c short_50[] = {
    {"o", ActionType_c::SetNamedOption, nullptr, params_5},
    {},
};

const char* plus_4[] = {"o", nullptr};

Action_c short_51[] = {
    {"C", ActionType_c::SetOption, "noclobber", nullptr},
    {"O", ActionType_c::SetNamedOption_shopt, nullptr, nullptr},
    {"c", ActionType_c::SetToString_q, "c", nullptr},
    {"e", ActionType_c::SetOption, "errexit", nullptr},
    {"f", ActionType_c::SetOption, "noglob", nullptr},
    {"h", ActionType_c::SetOption, "hashall", nullptr},
    {"i", ActionType_c::SetToTrue, "i", nullptr},
    {"l", ActionType_c::SetToTrue, "l", nullptr},
    {"n", ActionType_c::SetOption, "noexec", nullptr},
    {"o", ActionType_c::SetNamedOption, nullptr, nullptr},
    {"u", ActionType_c::SetOption, "nounset", nullptr},
    {"v", ActionType_c::SetOption, "verbose", nullptr},
    {"x", ActionType_c::SetOption, "xtrace", nullptr},
    {},
};

const char* params_6[] = {"abbrev-html", "abbrev-text", "html", "none", "oheap", "text", nullptr};

const char* params_7[] = {"minimal", "nice", nullptr};

const char* params_8[] = {"cat-em", "deps", "fmt", "lossless-cat", "syntax-tree", "test", "tokens", "ysh-ify", nullptr};

Action_c long_51[] = {
    {"ast-format", ActionType_c::SetToString, "ast-format", params_6},
    {"completion-demo", ActionType_c::SetToTrue, "completion-demo", nullptr},
    {"completion-display", ActionType_c::SetToString, "completion-display", params_7},
    {"debug-file", ActionType_c::SetToString, "debug-file", nullptr},
    {"do-lossless", ActionType_c::SetToTrue, "do-lossless", nullptr},
    {"headless", ActionType_c::SetToTrue, "headless", nullptr},
    {"help", ActionType_c::SetToTrue, "help", nullptr},
    {"location-start-line", ActionType_c::SetToInt, "location-start-line", nullptr},
    {"location-str", ActionType_c::SetToString, "location-str", nullptr},
    {"login", ActionType_c::SetToTrue, "login", nullptr},
    {"norc", ActionType_c::SetToTrue, "norc", nullptr},
    {"print-status", ActionType_c::SetToTrue, "print-status", nullptr},
    {"rcdir", ActionType_c::SetToString, "rcdir", nullptr},
    {"rcfile", ActionType_c::SetToString, "rcfile", nullptr},
    {"tool", ActionType_c::SetToString, "tool", params_8},
    {"version", ActionType_c::SetToTrue, "version", nullptr},
    {"xtrace-to-debug-file", ActionType_c::SetToTrue, "xtrace-to-debug-file", nullptr},
    {},
};

const char* plus_5[] = {"C", "O", "e", "f", "h", "n", "o", "u", "v", "x", nullptr};

DefaultPair_c defaults_51[] = {
    {"ast_format", flag_type_e::Str, {.s = "abbrev-text"}},
    {"c", flag_type_e::Str, {}},
    {"completion_demo", flag_type_e::Bool, {.b = false}},
    {"completion_display", flag_type_e::Str, {.s = "nice"}},
    {"debug_file", flag_type_e::Str, {}},
    {"do_lossless", flag_type_e::Bool, {.b = false}},
    {"headless", flag_type_e::Bool, {.b = false}},
    {"help", flag_type_e::Bool, {.b = false}},
    {"i", flag_type_e::Bool, {.b = false}},
    {"l", flag_type_e::Bool, {.b = false}},
    {"location_start_line", flag_type_e::Int, {.i = -1}},
    {"location_str", flag_type_e::Str, {}},
    {"login", flag_type_e::Bool, {.b = false}},
    {"norc", flag_type_e::Bool, {.b = false}},
    {"print_status", flag_type_e::Bool, {.b = false}},
    {"rcdir", flag_type_e::Str, {}},
    {"rcfile", flag_type_e::Str, {}},
    {"tool", flag_type_e::Str, {.s = ""}},
    {"version", flag_type_e::Bool, {.b = false}},
    {"xtrace_to_debug_file", flag_type_e::Bool, {.b = false}},
    {},
};

Action_c short_52[] = {
    {"C", ActionType_c::SetOption, "noclobber", nullptr},
    {"O", ActionType_c::SetNamedOption_shopt, nullptr, nullptr},
    {"e", ActionType_c::SetOption, "errexit", nullptr},
    {"f", ActionType_c::SetOption, "noglob", nullptr},
    {"h", ActionType_c::SetOption, "hashall", nullptr},
    {"n", ActionType_c::SetOption, "noexec", nullptr},
    {"o", ActionType_c::SetNamedOption, nullptr, nullptr},
    {"u", ActionType_c::SetOption, "nounset", nullptr},
    {"v", ActionType_c::SetOption, "verbose", nullptr},
    {"x", ActionType_c::SetOption, "xtrace", nullptr},
    {},
};

const char* plus_6[] = {"C", "O", "e", "f", "h", "n", "o", "u", "v", "x", nullptr};

FlagSpecAndMore_c kFlagSpecsAndMore[] = {
    { "compadjust", short_46, nullptr, nullptr, defaults_46 },
    { "compexport", short_47, long_47, nullptr, defaults_47 },
    { "compgen", short_48, nullptr, plus_2, defaults_48 },
    { "complete", short_49, nullptr, plus_3, defaults_49 },
    { "compopt", short_50, nullptr, plus_4, nullptr },
    { "main", short_51, long_51, plus_5, defaults_51 },
    { "set", short_52, nullptr, plus_6, nullptr },
    {},
};
}  // namespace arg_types
