1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 18:37:35 +00:00

Terminal: Add support for REP ('b' final)

Patch contributed by "pd"
This commit is contained in:
Andreas Kling 2019-06-11 07:31:47 +02:00
parent 58a2b9336a
commit 1372f10dda
2 changed files with 17 additions and 0 deletions

View file

@ -372,6 +372,15 @@ void Terminal::escape$G(const ParamVector& params)
set_cursor(m_cursor_row, new_column);
}
void Terminal::escape$b(const ParamVector& params)
{
if (params.size() < 1)
return;
for (unsigned i = 0; i < params[0]; ++i)
put_character_at(m_cursor_row, m_cursor_column++, m_last_char);
}
void Terminal::escape$d(const ParamVector& params)
{
int new_row = 1;
@ -617,6 +626,9 @@ void Terminal::execute_escape_sequence(byte final)
case 'X':
escape$X(params);
break;
case 'b':
escape$b(params);
break;
case 'd':
escape$d(params);
break;
@ -714,6 +726,8 @@ void Terminal::put_character_at(unsigned row, unsigned column, byte ch)
line.characters[column] = ch;
line.attributes[column] = m_current_attribute;
line.dirty = true;
m_last_char = ch;
}
void Terminal::on_char(byte ch)

View file

@ -63,6 +63,7 @@ private:
void escape$M(const ParamVector&);
void escape$G(const ParamVector&);
void escape$X(const ParamVector&);
void escape$b(const ParamVector&);
void escape$d(const ParamVector&);
void escape$m(const ParamVector&);
void escape$s(const ParamVector&);
@ -204,4 +205,6 @@ private:
CTimer m_cursor_blink_timer;
CTimer m_visual_beep_timer;
RetainPtr<CConfigFile> m_config;
byte m_last_char { 0 };
};