75 Commits

Author SHA1 Message Date
3c6b3bc49e Add Buffer::Iterator functions to move forward/backward on/up to characters in a line 2017-11-21 22:02:53 -05:00
32b272b75c Change Buffer::erase_range() to take a Range argument 2017-11-21 19:10:31 -05:00
c3852e950a Add Buffer::erase_range() 2017-11-17 16:58:28 -05:00
2d559db7d0 BufferView: cursor_move() takes a character argument 2017-11-15 20:32:01 -05:00
54bbfefcf4 CommandMap: recurse to resolve command sequences properly 2017-10-30 20:21:51 -04:00
1d12a7fe7d BufferView: fix more scrolling problems 2017-09-23 16:02:34 -04:00
33377f7668 fix moving cursor screen row down with row-wrapping tab characters 2017-09-23 10:54:30 -04:00
55dc13d729 Fix scrolling BufferView past empty lines 2017-09-20 20:00:19 -04:00
d2fa28c5e1 Fix BufferView repeating last line for the remainder of the view 2017-09-20 19:40:51 -04:00
5c3a095aeb BufferView: test and fix scrolling through super long lines 2017-09-13 20:57:42 -04:00
70aba6e2d4 BufferView: add scroll_view_{up,down}() 2017-09-13 20:08:09 -04:00
84759d0a36 BufferView: add functions to move cursor up/down by screen row 2017-09-11 22:43:38 -04:00
fcd198b691 Add cursor movement logic to BufferView 2017-09-11 21:10:02 -04:00
7ad28ceb67 update BufferLineWalker unit tests for full coverage 2017-09-04 15:57:03 -04:00
74dfb7ce78 more BufferView tests, 100% coverage 2017-09-04 15:45:10 -04:00
359f5bed9f BufferView updates cursor screen row to follow moved cursor 2017-09-03 18:15:37 -04:00
14e285041e BufferView: user must call update() after all changes and before vert_iter() 2017-09-03 17:34:41 -04:00
4b3e1ea7e7 Change BufferView and BufferLineWalker to return iterator objects for iteration instead of using lambdas for callbacks. 2017-09-03 17:05:01 -04:00
b89f348602 add some initial BufferView unit tests 2017-08-29 23:20:42 -04:00
8e0796decf move much of the buffer layout code from BufferPane to BufferView 2017-08-29 23:03:49 -04:00
52751338c3 add BufferLineWalker unit tests 2017-08-24 21:44:10 -04:00
89687100f3 add another BUffer unit test 2017-01-28 12:24:26 -05:00
903b35f8bb test CommandParser ignores newlines at end of command 2017-01-28 11:54:43 -05:00
210a7b82c5 Fix up CommandParser operation and add unit tests 2017-01-23 21:47:40 -05:00
d1b2350e1a Fix unit tests broken by 08529fc 2017-01-19 15:05:32 -05:00
62e127d400 add extra undo test 2017-01-15 21:35:38 -05:00
cd0efc431d test more undo/redo change unit combinations 2017-01-15 21:16:55 -05:00
af77c97394 test that non-adjacent inserts make a single change operation 2017-01-15 21:01:13 -05:00
edf29f0bac add tests for modifying uncommitted insert change units 2017-01-15 20:46:09 -05:00
4e03fbc3de fix bug of undo/redo creating new change operations themselves 2017-01-15 20:33:37 -05:00
3e50e8a3b3 test number of change operations created in basic undo/redo tests 2017-01-15 20:27:26 -05:00
861aaed940 add unit test for coalescing erase change units within a change operation 2017-01-15 20:23:27 -05:00
6ba280e75d add unit test for basic undo/redo of erases 2017-01-15 20:06:08 -05:00
441c33821e add unit test for basic undo/redo of inserts 2017-01-15 20:02:12 -05:00
e98454c771 add unit tests for buffer insert/erase character 2017-01-15 19:46:33 -05:00
b9313ad606 add GapBuffer::copy_to() 2017-01-09 22:05:43 -05:00
85dbf75b11 add Buffer::add_cursor() 2017-01-07 15:03:51 -05:00
4017d8237e Add System::executable_path() 2017-01-03 18:59:12 -05:00
46f5059a0b add test/files/control-characters.txt 2016-12-30 12:10:43 -05:00
92b3e888b5 Add GapBuffer::erase() 2016-12-26 13:28:37 -05:00
743bfa5179 test Buffer::Iterator::go_{start,end}_of_line() on blank lines 2016-12-24 14:44:13 -05:00
1862d867f6 Fix Buffer::Iterator::go_previous_line() 2016-12-24 14:41:25 -05:00
252f4121f3 turn on unit tests for iterators instead of cursors 2016-12-21 23:47:26 -05:00
6b27fafb26 test no EOL at EOF with CRLF-formatted files 2016-12-18 19:52:41 -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
39088f6518 Add output parameter to Encoding::decode() to get encoded size 2016-12-17 10:54:50 -05:00
6f244e5c8f Add unit tests for GapBuffer and fix an insert() bug. 2016-12-07 23:37:52 -05:00
6c8e860fb5 Test that files consisting of just 1 or 2 newline characters are written correctly 2016-12-07 22:20:41 -05:00
abb11a0b8c Fix cursor go_up()/go_down(), turn on unit tests 2016-11-07 22:42:54 -05:00