|
c3852e950a
|
Add Buffer::erase_range()
|
2017-11-17 16:58:28 -05:00 |
|
|
add43beb92
|
fix bug counting lines to adjust iterators by in Buffer::lines_in_data()
|
2017-01-28 12:23:58 -05:00 |
|
|
2ae1d72d6a
|
Buffer::filename() returns shared_ptr to string
|
2017-01-27 20:50:15 -05:00 |
|
|
13ca7afd0c
|
Buffer::get_string() returns an EncodedString
|
2017-01-21 14:15:54 -05:00 |
|
|
276c756bb7
|
fix Buffer::clear() to update iterators
|
2017-01-18 22:51:33 -05:00 |
|
|
08529fc115
|
keep cursors off newlines after applying change operations when not in insert mode
|
2017-01-15 21:44:57 -05:00 |
|
|
2e2cdfdb81
|
bug fix: when applying change operations in reverse, apply their change units in reverse order
|
2017-01-15 20:58:18 -05:00 |
|
|
4e03fbc3de
|
fix bug of undo/redo creating new change operations themselves
|
2017-01-15 20:33:37 -05:00 |
|
|
3b1bea80aa
|
fix bug dealing with coalescing erase change units within one change operation
|
2017-01-15 20:23:09 -05:00 |
|
|
e98454c771
|
add unit tests for buffer insert/erase character
|
2017-01-15 19:46:33 -05:00 |
|
|
2c633a9ddb
|
add TODO for supporting undo tree
|
2017-01-11 22:53:19 -05:00 |
|
|
f1815d04d9
|
do not attempt to redo past the last available operation
|
2017-01-11 22:53:19 -05:00 |
|
|
cac339a9f2
|
do not store a change operation with no change units
|
2017-01-11 22:53:19 -05:00 |
|
|
2057c69585
|
add Buffer::{undo,redo}()
|
2017-01-11 22:18:02 -05:00 |
|
|
e0615011a3
|
add Buffer::apply_change_{operation,unit}() for undo/redo
|
2017-01-11 21:55:59 -05:00 |
|
|
fca838fcbf
|
fix problem of record_change() not receiving contiguous range by using GapBuffer::copy_to()
|
2017-01-09 22:11:08 -05:00 |
|
|
5de13644de
|
add Buffer::INVALID_CHANGE_OPERATION_INDEX
|
2017-01-09 21:46:52 -05:00 |
|
|
f3753be4eb
|
refactor Buffer insert and delete operations
add Buffer functions to insert/erase data chunks
|
2017-01-09 21:34:16 -05:00 |
|
|
904ac01a1c
|
record the parent ID of each change operation
|
2017-01-07 16:22:42 -05:00 |
|
|
5f37229c19
|
when adjusting cursor iterators, always keep them valid
|
2017-01-07 16:22:28 -05:00 |
|
|
924d005020
|
Buffer: refactor common iterator warping code into warp_iterators()
|
2017-01-07 14:15:46 -05:00 |
|
|
38a734b5c1
|
Save change operations
|
2017-01-07 13:56:10 -05:00 |
|
|
348d11e992
|
Buffer: allow insert_code_point() to be called outside of insert mode
|
2017-01-07 13:22:05 -05:00 |
|
|
21320d9ea7
|
Begin recording all buffer changes to prepare for undo tree
|
2017-01-07 13:19:49 -05:00 |
|
|
a8b39f8884
|
Fix text insertion point not following cursor
Always supply iterator position when inserting code points
|
2017-01-05 21:21:38 -05:00 |
|
|
929bda355f
|
add an EOF iterator to track the end of the file and number of lines
|
2016-12-28 13:03:38 -05:00 |
|
|
64ed3174ac
|
record buffer filename
|
2016-12-27 20:10:58 -05:00 |
|
|
38d615ecc4
|
insert a \n to follow new content when inserting into an empty buffer
|
2016-12-27 15:10:45 -05:00 |
|
|
723b96f624
|
fix insert position when erasing a code point in insert mode
|
2016-12-27 14:07:46 -05:00 |
|
|
64a09fca0f
|
add Buffer::erase_code_point()
|
2016-12-26 14:01:24 -05:00 |
|
|
cadd5bac36
|
Warp all cursors at/after the insert point when inserting a code point
|
2016-12-26 08:56:36 -05:00 |
|
|
e3f156c513
|
add Buffer::insert_code_point()
|
2016-12-24 15:35:06 -05:00 |
|
|
099ea267d6
|
add Buffer functions to enter/exit/query insert mode
|
2016-12-24 15:31:23 -05:00 |
|
|
e78a3672c5
|
improve GapBuffer test coverage
|
2016-12-18 19:20:48 -05:00 |
|
|
968db413e6
|
Remove Cursor and move line-tracking into Iterator
|
2016-12-18 14:51:52 -05:00 |
|
|
a2b2156016
|
Move encoding and tabstop out of Iterator/Cursor classes
|
2016-12-11 15:32:05 -05:00 |
|
|
9b6b21a1d0
|
Move Iterator and Cursor classes into Buffer class.
|
2016-12-11 15:17:15 -05:00 |
|
|
b880397b7e
|
Split up Cursor module into BufferIterator / BufferCursor
|
2016-12-11 14:00:15 -05:00 |
|
|
1b6038a3cd
|
remove tabstop from GapBuffer
|
2016-12-07 23:09:06 -05:00 |
|
|
5f3831965e
|
remove encoding from GapBuffer
|
2016-12-07 23:05:38 -05:00 |
|
|
7384128d40
|
remove more logic from GapBuffer
|
2016-12-07 22:56:08 -05:00 |
|
|
41c65f2dd9
|
Begin more refactoring to shrink GapBuffer class
|
2016-12-07 22:47:33 -05:00 |
|
|
085a8a556a
|
allow loading a Buffer from in-memory data
|
2016-11-30 21:21:19 -05:00 |
|
|
d5e3fdf919
|
implement Buffer::write_to_file()
|
2016-11-07 22:34:10 -05:00 |
|
|
a865ff0163
|
pass encoding to GapBuffer
|
2016-11-02 20:36:35 -04:00 |
|
|
1c62e41b26
|
GapBuffer takes separate buffer_size and size parameters
|
2016-11-01 22:49:35 -04:00 |
|
|
0cbc36c5ff
|
change Buffer to start using GapBuffer
|
2016-11-01 22:46:44 -04:00 |
|
|
fbca1f995a
|
remove PieceTable
|
2016-11-01 21:44:01 -04:00 |
|
|
ef717faa16
|
fix Buffer::write_to_file() to preserve EOLs correctly
|
2016-10-25 20:47:54 -04:00 |
|
|
4ebe81c062
|
remove EOL Piece flag; use \n in memory to represent EOL
(cursor movement needs to be updated yet)
|
2016-10-15 09:42:38 -04:00 |
|