#include "./util.h" namespace tree_sitter_markdown { bool adv_blk_htm_end(Lexer &lxr) { if (lxr.adv_if('<')) { if (lxr.adv_if('/')) { if (lxr.adv_if('p') || lxr.adv_if('P')) { if (lxr.adv_if('r') || lxr.adv_if('R')) { if (lxr.adv_if('e') || lxr.adv_if('E')) { if (lxr.adv_if('>')) { return true; // }}} } else if (lxr.adv_if('s') || lxr.adv_if('S')) { if (lxr.adv_if('c') || lxr.adv_if('C')) { if (lxr.adv_if('r') || lxr.adv_if('R')) { if (lxr.adv_if('i') || lxr.adv_if('I')) { if (lxr.adv_if('p') || lxr.adv_if('P')) { if (lxr.adv_if('t') || lxr.adv_if('T')) { if (lxr.adv_if('>')) { return true; // }}}}} } else if (lxr.adv_if('t') || lxr.adv_if('T')) { if (lxr.adv_if('y') || lxr.adv_if('Y')) { if (lxr.adv_if('l') || lxr.adv_if('L')) { if (lxr.adv_if('e') || lxr.adv_if('E')) { if (lxr.adv_if('>')) { return true; // }}}}} } } } return false; } bool vld_sym(const Symbol sym, const BlockContextStack &blk_ctx_stk) { assert(!blk_ctx_stk.empty()); return vld_sym(sym, blk_ctx_stk.back().pst()); } bool vld_sym(const Symbol sym, const BlockContextStack &blk_ctx_stk, const InlineContextStack &inl_ctx_stk) { return inl_ctx_stk.empty() ? vld_sym(sym, blk_ctx_stk) : inl_ctx_stk.back().is_vld_pst() && vld_sym(sym, inl_ctx_stk.back().pst()); } bool is_lst_itm_bgn(const Symbol sym) { return sym == SYM_ASR_LST_ITM_BGN || sym == SYM_HYP_LST_ITM_BGN || sym == SYM_PLS_LST_ITM_BGN || sym == SYM_DOT_LST_ITM_BGN || sym == SYM_RPR_LST_ITM_BGN; } }