use crate::*;
use nom::branch::alt;
use nom::bytes::complete::tag;
pub(crate) fn keyword(i: Input) -> ParseResult {
alt((
alt((
tag("alias"),
tag("and"),
tag("begin"),
tag("break"),
tag("case"),
tag("class"),
tag("def"),
tag("defined?"),
tag("do"),
tag("else"),
tag("elsif"),
tag("end"),
tag("ensure"),
)),
alt((
tag("for"),
tag("false"),
tag("if"),
tag("in"),
tag("module"),
tag("next"),
tag("nil"),
tag("not"),
tag("or"),
tag("redo"),
tag("rescue"),
tag("retry"),
tag("return"),
tag("self"),
tag("super"),
tag("then"),
tag("true"),
)),
alt((
tag("undef"),
tag("unless"),
tag("until"),
tag("when"),
tag("while"),
tag("yield"),
tag("__LINE__"),
tag("__ENCODING__"),
tag("__FILE__"),
tag("BEGIN"),
tag("END"),
)),
))(i)
}