Lines Matching refs:pansi
625 public void skip_ansi(struct ansi_state *pansi, LWCHAR ch, constant char **pp, constant char *limit) in skip_ansi() argument
627 ansi_step(pansi, ch); in skip_ansi()
630 } while (*pp < limit && ansi_step(pansi, ch) == ANSI_MID); in skip_ansi()
640 struct ansi_state *pansi; in ansi_start() local
644 pansi = ecalloc(1, sizeof(struct ansi_state)); in ansi_start()
645 pansi->ostate = OSC_START; in ansi_start()
646 pansi->otype = 0; in ansi_start()
647 pansi->escs_in_seq = 0; in ansi_start()
648 return pansi; in ansi_start()
682 static ansi_state osc_return(struct ansi_state *pansi, osc8_state ostate, ansi_state astate) in osc_return() argument
684 pansi->ostate = ostate; in osc_return()
692 static ansi_state ansi_step2(struct ansi_state *pansi, LWCHAR ch, lbool content) in ansi_step2() argument
702 switch (pansi->ostate) in ansi_step2()
706 return osc_return(pansi, OSC_INTRO, ANSI_MID); in ansi_step2()
710 return osc_return(pansi, OSC_TYPENUM, ANSI_MID); in ansi_step2()
712 return osc_return(pansi, OSC_STRING, ANSI_MID); in ansi_step2()
714 return osc_return(pansi, OSC_INTRO, ANSI_MID); in ansi_step2()
716 pansi->ostate = OSC_START; in ansi_step2()
721 if (ckd_mul(&pansi->otype, pansi->otype, 10) || in ansi_step2()
722 ckd_add(&pansi->otype, pansi->otype, ch - '0')) in ansi_step2()
723 return osc_return(pansi, OSC_STRING, ANSI_MID); in ansi_step2()
724 return osc_return(pansi, OSC_TYPENUM, ANSI_MID); in ansi_step2()
727 return osc_return(pansi, (pansi->otype == 8) ? OSC8_PARAMS : OSC_STRING, ANSI_MID); in ansi_step2()
730 return osc_return(pansi, OSC_END_CSI, ANSI_MID); in ansi_step2()
732 return osc_return(pansi, OSC_END, ANSI_END); in ansi_step2()
733 return osc_return(pansi, OSC_STRING, ANSI_MID); in ansi_step2()
736 return osc_return(pansi, OSC8_URI, ANSI_MID); in ansi_step2()
742 return osc_return(pansi, OSC_END, valid_osc_type(pansi->otype, content) ? ANSI_END : ANSI_ERR); in ansi_step2()
745 pansi->escs_in_seq++; in ansi_step2()
746 return osc_return(pansi, OSC_END_CSI, ANSI_MID); in ansi_step2()
753 return osc_return(pansi, OSC_END, valid_osc_type(pansi->otype, content) ? ANSI_END : ANSI_ERR); in ansi_step2()
755 return osc_return(pansi, OSC_STRING, ANSI_MID); in ansi_step2()
770 public ansi_state ansi_step(struct ansi_state *pansi, LWCHAR ch) in ansi_step() argument
772 return ansi_step2(pansi, ch, TRUE); in ansi_step()
778 public osc8_state ansi_osc8_state(struct ansi_state *pansi) in ansi_osc8_state() argument
780 return pansi->ostate; in ansi_osc8_state()
786 public void ansi_done(struct ansi_state *pansi) in ansi_done() argument
788 free(pansi); in ansi_done()
1460 struct ansi_state *pansi = NULL; in col_vs_pos() local
1478 if (pansi != NULL) in col_vs_pos()
1480 if (ansi_step(pansi, ch) != ANSI_MID) in col_vs_pos()
1482 ansi_done(pansi); in col_vs_pos()
1483 pansi = NULL; in col_vs_pos()
1485 } else if (ctldisp == OPT_ONPLUS && (pansi = ansi_start(ch)) != NULL) in col_vs_pos()
1488 (void) ansi_step(pansi, ch); in col_vs_pos()
1766 struct ansi_state *pansi = ansi_start(ch); in skip_columns() local
1767 if (pansi != NULL) in skip_columns()
1769 skip_ansi(pansi, ch, &line, eline); in skip_columns()
1770 ansi_done(pansi); in skip_columns()