aboutsummaryrefslogtreecommitdiffstats
path: root/parser.l
diff options
context:
space:
mode:
Diffstat (limited to 'parser.l')
-rw-r--r--parser.l11
1 files changed, 11 insertions, 0 deletions
diff --git a/parser.l b/parser.l
index df20867..260a442 100644
--- a/parser.l
+++ b/parser.l
@@ -48,6 +48,7 @@ CUP {CSI}{CSIPARAM2}H
ED {CSI}{CSIPARAM1}J
EL {CSI}{CSIPARAM1}K
IL {CSI}{CSIPARAM1}L
+DCH {CSI}{CSIPARAM1}P
SM {CSI}{SMPARAMS}h
RM {CSI}{SMPARAMS}l
SGR {CSI}{CSIPARAMS}m
@@ -83,6 +84,7 @@ static void runes_parser_handle_cup(RunesTerm *t, char *buf, size_t len);
static void runes_parser_handle_ed(RunesTerm *t, char *buf, size_t len);
static void runes_parser_handle_el(RunesTerm *t, char *buf, size_t len);
static void runes_parser_handle_il(RunesTerm *t, char *buf, size_t len);
+static void runes_parser_handle_dch(RunesTerm *t, char *buf, size_t len);
static void runes_parser_handle_sm(RunesTerm *t, char *buf, size_t len);
static void runes_parser_handle_rm(RunesTerm *t, char *buf, size_t len);
static void runes_parser_handle_sgr(RunesTerm *t, char *buf, size_t len);
@@ -119,6 +121,7 @@ static void runes_parser_handle_osc2(RunesTerm *t, char *buf, size_t len);
{ED} runes_parser_handle_ed(yyextra, yytext, yyleng);
{EL} runes_parser_handle_el(yyextra, yytext, yyleng);
{IL} runes_parser_handle_il(yyextra, yytext, yyleng);
+{DCH} runes_parser_handle_dch(yyextra, yytext, yyleng);
{SM} runes_parser_handle_sm(yyextra, yytext, yyleng);
{RM} runes_parser_handle_rm(yyextra, yytext, yyleng);
{SGR} runes_parser_handle_sgr(yyextra, yytext, yyleng);
@@ -380,6 +383,14 @@ static void runes_parser_handle_il(RunesTerm *t, char *buf, size_t len)
runes_display_scroll_up(t, params[0]);
}
+static void runes_parser_handle_dch(RunesTerm *t, char *buf, size_t len)
+{
+ int params[RUNES_PARSER_CSI_MAX_PARAMS] = { 1 }, nparams;
+
+ runes_parser_extract_csi_params(buf + 2, len - 3, params, &nparams);
+ runes_display_delete_characters(t, params[0]);
+}
+
static void runes_parser_handle_sm(RunesTerm *t, char *buf, size_t len)
{
int params[RUNES_PARSER_CSI_MAX_PARAMS], nparams, i;