|
e98454c771
|
add unit tests for buffer insert/erase character
|
2017-01-15 19:46:33 -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 |
|
|
66aa9c5235
|
add Buffer::Iterator::{prev,next}()
|
2017-01-09 20:26:18 -05:00 |
|
|
6108d09e8d
|
add Buffer::Iterator::warp_to_offset()
|
2017-01-07 16:34:01 -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 |
|
|
85dbf75b11
|
add Buffer::add_cursor()
|
2017-01-07 15:03:51 -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 |
|
|
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 |
|
|
237dbf9c2b
|
add 'g' and 'G' commands to go to first and last line in buffer
|
2016-12-28 14:07:28 -05:00 |
|
|
8df75f5ab0
|
add Buffer::Iterator::INVALID_CODE_POINT constant
|
2016-12-28 13:24:52 -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 |
|
|
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 |
|
|
968db413e6
|
Remove Cursor and move line-tracking into Iterator
|
2016-12-18 14:51:52 -05:00 |
|
|
129716e28f
|
Draw cursor again
|
2016-12-11 15:58:31 -05:00 |
|
|
a2b2156016
|
Move encoding and tabstop out of Iterator/Cursor classes
|
2016-12-11 15:32:05 -05:00 |
|
|
f41b59aa81
|
remove a few unused Iterator/Cursor interfaces
|
2016-12-11 15:23:39 -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 |
|
|
3784b89ca9
|
remove knowledge of Cursor from GapBuffer
|
2016-12-07 23:01:03 -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 |
|
|
95884a2b85
|
add Buffer::insert() alias for GapBuffer::insert()
|
2016-11-30 21:07:57 -05:00 |
|
|
f14db217d2
|
add Buffer::Cursor type alias for GapBuffer::Cursor
|
2016-11-30 21:06:59 -05:00 |
|
|
e57c71855a
|
add Buffer::get_string() and GapBuffer::get_string()
|
2016-11-27 18:54:03 -05:00 |
|
|
abb11a0b8c
|
Fix cursor go_up()/go_down(), turn on unit tests
|
2016-11-07 22:42:54 -05:00 |
|
|
d5e3fdf919
|
implement Buffer::write_to_file()
|
2016-11-07 22:34:10 -05: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 |
|
|
490505faa1
|
detect file encoding when loading it
|
2016-08-11 20:11:13 -04:00 |
|
|
382d155e40
|
add LineEndings module
|
2016-07-26 22:36:22 -04:00 |
|
|
a416a47b29
|
add Buffer::write_to_file()
|
2016-07-24 12:50:27 -04:00 |
|
|
0780659c8c
|
Buffer: keep track of eol_at_eof flag from TextLoader
|
2016-07-24 12:27:15 -04:00 |
|
|
20a2786755
|
Render from the piece table!
|
2016-07-19 22:34:11 -04:00 |
|
|
aa45f6d6dc
|
Add a PieceTable to Buffer
|
2016-07-18 22:04:57 -04:00 |
|
|
cae0b581a2
|
Buffer owns the file buffer
|
2016-07-14 20:09:35 -04:00 |
|
|
e562f77dab
|
replace FileReader with File class; prepare for removing FileLoader
|
2016-07-14 18:44:18 -04:00 |
|