Implement X command
This commit is contained in:
parent
bb5bf6a13a
commit
c77be4c482
@ -325,7 +325,7 @@ void BufferPane::insert_code_point(uint32_t code_point)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BufferPane::kill_character_at_cursor()
|
void BufferPane::kill_character_forward()
|
||||||
{
|
{
|
||||||
if (**m_iterator != '\n')
|
if (**m_iterator != '\n')
|
||||||
{
|
{
|
||||||
@ -339,6 +339,17 @@ void BufferPane::kill_character_at_cursor()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BufferPane::kill_character_backward()
|
||||||
|
{
|
||||||
|
Buffer::Iterator it = *m_iterator;
|
||||||
|
if (it.go_left_in_line())
|
||||||
|
{
|
||||||
|
m_buffer->erase_code_point(it);
|
||||||
|
m_buffer_view->update();
|
||||||
|
m_window->request_redraw();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
size_t BufferPane::display_column() const
|
size_t BufferPane::display_column() const
|
||||||
{
|
{
|
||||||
if (!m_iterator->valid())
|
if (!m_iterator->valid())
|
||||||
|
@ -35,7 +35,8 @@ public:
|
|||||||
void enter_insert_mode(Window::EnterInsertModeMode which);
|
void enter_insert_mode(Window::EnterInsertModeMode which);
|
||||||
void insert_code_point(uint32_t code_point);
|
void insert_code_point(uint32_t code_point);
|
||||||
void exit_insert_mode();
|
void exit_insert_mode();
|
||||||
void kill_character_at_cursor();
|
void kill_character_forward();
|
||||||
|
void kill_character_backward();
|
||||||
bool insert_mode() const { return m_buffer->insert_mode(); }
|
bool insert_mode() const { return m_buffer->insert_mode(); }
|
||||||
void scroll_window_up(Window::ScrollMode scroll_mode);
|
void scroll_window_up(Window::ScrollMode scroll_mode);
|
||||||
void scroll_window_down(Window::ScrollMode scroll_mode);
|
void scroll_window_down(Window::ScrollMode scroll_mode);
|
||||||
|
@ -340,9 +340,10 @@ void Window::execute_command(const Command & command)
|
|||||||
case Command::DELETE_LINE:
|
case Command::DELETE_LINE:
|
||||||
break;
|
break;
|
||||||
case Command::DELETE_CHAR:
|
case Command::DELETE_CHAR:
|
||||||
m_focused_buffer_pane->kill_character_at_cursor();
|
m_focused_buffer_pane->kill_character_forward();
|
||||||
break;
|
break;
|
||||||
case Command::DELETE_CHAR_BACK:
|
case Command::DELETE_CHAR_BACK:
|
||||||
|
m_focused_buffer_pane->kill_character_backward();
|
||||||
break;
|
break;
|
||||||
case Command::CHANGE_MOTION:
|
case Command::CHANGE_MOTION:
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user