add 'o' and 'O' commands
This commit is contained in:
parent
dbe5843d77
commit
599ccdb6db
@ -342,6 +342,9 @@ void BufferPane::handle_key(uint32_t keyval)
|
||||
case 'I':
|
||||
enter_insert_mode(EnterInsertModeMode::START_OF_LINE);
|
||||
break;
|
||||
case 'O':
|
||||
enter_insert_mode(EnterInsertModeMode::NEW_LINE_BEFORE);
|
||||
break;
|
||||
case 'a':
|
||||
enter_insert_mode(EnterInsertModeMode::END_OF_CHAR);
|
||||
break;
|
||||
@ -363,6 +366,9 @@ void BufferPane::handle_key(uint32_t keyval)
|
||||
case 'l':
|
||||
cursor_move(CursorMovement::RIGHT);
|
||||
break;
|
||||
case 'o':
|
||||
enter_insert_mode(EnterInsertModeMode::NEW_LINE_AFTER);
|
||||
break;
|
||||
case 'x':
|
||||
if (**m_iterator != '\n')
|
||||
{
|
||||
@ -512,10 +518,17 @@ void BufferPane::enter_insert_mode(EnterInsertModeMode which)
|
||||
enter_insert_mode(EnterInsertModeMode::END_OF_CHAR);
|
||||
break;
|
||||
case EnterInsertModeMode::NEW_LINE_BEFORE:
|
||||
/* TODO */
|
||||
m_iterator->go_start_of_line();
|
||||
m_buffer->enter_insert_mode(*m_iterator);
|
||||
m_buffer->insert_code_point('\n');
|
||||
m_buffer->exit_insert_mode();
|
||||
cursor_move(CursorMovement::UP);
|
||||
enter_insert_mode(EnterInsertModeMode::START_OF_CHAR);
|
||||
break;
|
||||
case EnterInsertModeMode::NEW_LINE_AFTER:
|
||||
/* TODO */
|
||||
m_iterator->go_end_of_line(true);
|
||||
m_buffer->enter_insert_mode(*m_iterator);
|
||||
m_buffer->insert_code_point('\n');
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user