add Buffer::add_cursor()
This commit is contained in:
parent
924d005020
commit
85dbf75b11
@ -105,6 +105,12 @@ public:
|
||||
m_iterators.push_back(iterator);
|
||||
return iterator;
|
||||
}
|
||||
std::shared_ptr<Iterator> add_cursor()
|
||||
{
|
||||
auto iterator = add_iterator();
|
||||
m_cursors.push_back(iterator);
|
||||
return iterator;
|
||||
}
|
||||
auto get_string() { return m_gap_buffer->get_string(); }
|
||||
size_t size() const { return m_gap_buffer->size(); }
|
||||
uint8_t * address(size_t offset) const { return m_gap_buffer->address(offset); }
|
||||
@ -130,6 +136,7 @@ protected:
|
||||
uint8_t m_tabstop;
|
||||
bool m_insert_mode;
|
||||
std::list<std::shared_ptr<Iterator>> m_iterators;
|
||||
std::list<std::shared_ptr<Iterator>> m_cursors;
|
||||
std::shared_ptr<Iterator> m_eof_iterator;
|
||||
std::string m_filename;
|
||||
std::shared_ptr<ChangeOperation> m_current_change_operation;
|
||||
|
@ -5,7 +5,7 @@ BufferPane::BufferPane(Window * window, std::shared_ptr<Buffer> buffer)
|
||||
{
|
||||
m_cursor_screen_row = 0;
|
||||
m_scroll_offset = 5;
|
||||
m_iterator = buffer->add_iterator();
|
||||
m_iterator = buffer->add_cursor();
|
||||
m_target_column = 0;
|
||||
m_cursor_virtual_column = 0;
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ TEST(BufferTest, writes_an_empty_file_for_an_empty_buffer)
|
||||
TEST(BufferTest, allows_navigating_using_iterators)
|
||||
{
|
||||
Buffer b("test/files/line_endings/lf_format.txt");
|
||||
auto iterator = b.add_iterator();
|
||||
auto iterator = b.add_cursor();
|
||||
|
||||
EXPECT_EQ(0u, iterator->line());
|
||||
ASSERT_EQ((uint32_t)'H', **iterator);
|
||||
@ -71,7 +71,7 @@ TEST(BufferTest, allows_navigating_using_iterators)
|
||||
TEST(BufferTest, allows_navigating_using_iterators2)
|
||||
{
|
||||
Buffer b("test/files/blank_lines.txt");
|
||||
auto iterator = b.add_iterator();
|
||||
auto iterator = b.add_cursor();
|
||||
|
||||
EXPECT_EQ(0u, iterator->line());
|
||||
EXPECT_EQ((uint32_t)'a', **iterator);
|
||||
|
Loading…
x
Reference in New Issue
Block a user