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