Author: mesyeti <mesyeti@mesyeti.uk>
fix CSI 0 m
source/app.c | 9 +++++++++ source/app.h | 1 + source/interpreter/vt100.c | 3 +++
diff --git a/source/app.c b/source/app.c index 317dd975ef735ea6633ffc705b1dfa0a1678cc5a..380ae20bebd39230d6490ae5bb82e027a61355e6 100644 --- a/source/app.c +++ b/source/app.c @@ -31,6 +31,7 @@ app.bindNewTab = Input_AddKeyBind(KEY_LCTRL, KEY_LSHIFT, 0, KEY_T); app.bindPrevTab = Input_AddKeyBind(KEY_LCTRL, 0, 0, KEY_PAGE_UP); app.bindNextTab = Input_AddKeyBind(KEY_LCTRL, 0, 0, KEY_PAGE_DOWN); + app.bindReport = Input_AddKeyBind(KEY_LCTRL, KEY_LSHIFT, 0, KEY_R); } static Pane* GetSelectedPane(Pane* pane) { @@ -68,6 +69,14 @@ } if (Input_MatchBind(app.bindNextTab, e)) { app.tabSel = (app.tabSel + 1) % app.tabNum; app.paneSel = GetSelectedPane(&app.tabs[app.tabSel]); + return true; + } + if (Input_MatchBind(app.bindReport, e)) { + Terminal* term = &app.paneSel->v.terminal; + + Log("REPORT"); + Log("======"); + Log("Cursor: %d, %d\n", term->cursor.x, term->cursor.y); return true; } diff --git a/source/app.h b/source/app.h index b2c8561dcef4562dc841049663cbe7fd042c96a3..27dffed7b82e9fd32897c7d387e268ef7e26dcde 100644 --- a/source/app.h +++ b/source/app.h @@ -20,6 +20,7 @@ // binds Input_BindID bindNewTab; Input_BindID bindPrevTab; Input_BindID bindNextTab; + Input_BindID bindReport; } App; extern App app; diff --git a/source/interpreter/vt100.c b/source/interpreter/vt100.c index 992142da03ce765f547d0d0ab0d71200b4c14e55..62c82943b77502c5325461757f40124275be8f2d 100644 --- a/source/interpreter/vt100.c +++ b/source/interpreter/vt100.c @@ -330,10 +330,13 @@ case 'm': { for (size_t i = 0; i < num; ++ i) { int part = atoi(parts[i]); + // printf("CSI %d m\n", part); + switch (part) { case 0: { terminal->attr.fgMode = BUF_DEFAULT; terminal->attr.bgMode = BUF_DEFAULT; + terminal->attr.invert = false; break; } case 1: break; // TODO: bold