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':
|
case 'I':
|
||||||
enter_insert_mode(EnterInsertModeMode::START_OF_LINE);
|
enter_insert_mode(EnterInsertModeMode::START_OF_LINE);
|
||||||
break;
|
break;
|
||||||
|
case 'O':
|
||||||
|
enter_insert_mode(EnterInsertModeMode::NEW_LINE_BEFORE);
|
||||||
|
break;
|
||||||
case 'a':
|
case 'a':
|
||||||
enter_insert_mode(EnterInsertModeMode::END_OF_CHAR);
|
enter_insert_mode(EnterInsertModeMode::END_OF_CHAR);
|
||||||
break;
|
break;
|
||||||
@ -363,6 +366,9 @@ void BufferPane::handle_key(uint32_t keyval)
|
|||||||
case 'l':
|
case 'l':
|
||||||
cursor_move(CursorMovement::RIGHT);
|
cursor_move(CursorMovement::RIGHT);
|
||||||
break;
|
break;
|
||||||
|
case 'o':
|
||||||
|
enter_insert_mode(EnterInsertModeMode::NEW_LINE_AFTER);
|
||||||
|
break;
|
||||||
case 'x':
|
case 'x':
|
||||||
if (**m_iterator != '\n')
|
if (**m_iterator != '\n')
|
||||||
{
|
{
|
||||||
@ -512,10 +518,17 @@ void BufferPane::enter_insert_mode(EnterInsertModeMode which)
|
|||||||
enter_insert_mode(EnterInsertModeMode::END_OF_CHAR);
|
enter_insert_mode(EnterInsertModeMode::END_OF_CHAR);
|
||||||
break;
|
break;
|
||||||
case EnterInsertModeMode::NEW_LINE_BEFORE:
|
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;
|
break;
|
||||||
case EnterInsertModeMode::NEW_LINE_AFTER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user