From 728e389c1e3f61736dd99ea73673dc82b7b5da9c Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Mon, 1 Aug 2016 21:47:40 -0400 Subject: [PATCH] add column to a PieceTable::Cursor --- src/core/PieceTable.cc | 3 ++- src/core/PieceTable.h | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core/PieceTable.cc b/src/core/PieceTable.cc index fd49fd3..d937fd4 100644 --- a/src/core/PieceTable.cc +++ b/src/core/PieceTable.cc @@ -43,8 +43,9 @@ std::shared_ptr PieceTable::add_cursor() auto cursor = std::make_shared(); cursor->piece = start_piece->next; - cursor->line_number = 1u; + cursor->line_number = 0u; cursor->offset = 0u; + cursor->column = 0u; m_cursors.push_back(cursor); diff --git a/src/core/PieceTable.h b/src/core/PieceTable.h index fc1e2f6..fd83802 100644 --- a/src/core/PieceTable.h +++ b/src/core/PieceTable.h @@ -55,8 +55,11 @@ public: /** Byte offset within the piece. */ uint32_t offset; - /** Line number the cursor is on. */ + /** Line number the cursor is on (0 based). */ uint32_t line_number; + + /** Virtual column (0 based). */ + uint32_t column; }; PieceTable(const uint8_t * file_buffer, unsigned long file_buffer_size);