@conditional
def Ifcase(
parser: yex.parse.Parser,
) -> None:
doc = parser.doc
logger.debug(r"\ifcase: looking for number")
number = int(yex.value.Number.from_parser(parser))
logger.debug(r"\ifcase: number is %s", number)
doc.get_control(r'\tracingcommands').notice_conditional(fr'\ifcase')
doc.get_control(r'\tracingcommands').notice_conditional(f'case {number}')
case = _Case(
number = number,
doc = doc,
)
doc.ifdepth.append(case)
logger.debug(r"\ifcase: %s", case)
if number!=0:
logger.debug(r"\ifcase on %d; skipping",
number)
return None