implemented backindex
This commit is contained in:
@@ -562,6 +562,14 @@ do_csi_set_option(CSI_Data *opts)
|
||||
else if (n == 20) {
|
||||
screen_set_newline_mode(yn);
|
||||
}
|
||||
else if (n == 33) {
|
||||
ansi_noimpl("Steady cursor");
|
||||
// reference https://ttssh2.osdn.jp/manual/en/about/ctrlseq.html
|
||||
}
|
||||
else if (n == 34) {
|
||||
ansi_noimpl("Underline cursor");
|
||||
// reference https://ttssh2.osdn.jp/manual/en/about/ctrlseq.html
|
||||
}
|
||||
else {
|
||||
ansi_noimpl("OPTION %d", n);
|
||||
}
|
||||
|
||||
+1
-2
@@ -22,7 +22,6 @@
|
||||
void ICACHE_FLASH_ATTR
|
||||
apars_handle_osc(const char *buffer)
|
||||
{
|
||||
const char *orig_buff = buffer;
|
||||
int n = 0;
|
||||
char c = 0;
|
||||
while ((c = *buffer++) != 0) {
|
||||
@@ -50,7 +49,7 @@ apars_handle_osc(const char *buffer)
|
||||
}
|
||||
}
|
||||
else {
|
||||
ansi_warn("BAD OSC: %s", orig_buff);
|
||||
ansi_warn("BAD OSC: %s", buffer);
|
||||
apars_show_context();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,6 +121,10 @@ void ICACHE_FLASH_ATTR apars_handle_short_cmd(char c)
|
||||
screen_reset();
|
||||
break;
|
||||
|
||||
case '6': // back index
|
||||
screen_back_index(1);
|
||||
break;
|
||||
|
||||
case '7': // save cursor + attributes
|
||||
screen_cursor_save(true);
|
||||
break;
|
||||
|
||||
@@ -919,6 +919,21 @@ screen_cursor_restore(bool withAttrs)
|
||||
|
||||
NOTIFY_DONE();
|
||||
}
|
||||
|
||||
void ICACHE_FLASH_ATTR
|
||||
screen_back_index(int count)
|
||||
{
|
||||
NOTIFY_LOCK();
|
||||
int new_x = cursor.x - count;
|
||||
if (new_x >= 0) {
|
||||
cursor.x = new_x;
|
||||
} else {
|
||||
cursor.x = 0;
|
||||
screen_insert_characters(-new_x);
|
||||
}
|
||||
NOTIFY_DONE();
|
||||
}
|
||||
|
||||
//endregion
|
||||
|
||||
//region --- Attribute setting ---
|
||||
|
||||
@@ -254,6 +254,8 @@ void screen_clear_tab(void);
|
||||
void screen_tab_forward(int count);
|
||||
/** Move backward one tab */
|
||||
void screen_tab_reverse(int count);
|
||||
/** Move left, shift right if at the boundary */
|
||||
void screen_back_index(int count);
|
||||
|
||||
// --- Printing characters ---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user