251 Commits

Author SHA1 Message Date
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
92b3e888b5 Add GapBuffer::erase() 2016-12-26 13:28:37 -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
1862d867f6 Fix Buffer::Iterator::go_previous_line() 2016-12-24 14:41:25 -05:00
4ad5615dff fix Buffer::Iterator::go_previous_line() and go_next_line() 2016-12-21 22:10:58 -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
129716e28f Draw cursor again 2016-12-11 15:58:31 -05:00
3d57b03af7 fix infinite loop drawing an empty buffer 2016-12-11 15:48:22 -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
6f244e5c8f Add unit tests for GapBuffer and fix an insert() bug. 2016-12-07 23:37:52 -05:00
595d74c8c4 update documentation for GapBuffer 2016-12-07 23:27:36 -05:00
be67996d04 remove unused includes from GapBuffer.h 2016-12-07 23:10:57 -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
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
1404c33a46 insert at a cursor position; adjust all cursors after inserting 2016-11-27 17:51:16 -05:00
915d62ceef add GapBuffer::insert() 2016-11-27 17:24:59 -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
18f3af443e add GapBuffer::compact() 2016-11-07 22:18:56 -05:00
b532e80ac8 add Cursor::address() 2016-11-07 22:15:29 -05:00
940165a78f add Cursor::operator*() 2016-11-07 22:12:18 -05:00
07eca3268c Make optional whether go_right() allows going to EOL 2016-11-06 14:39:34 -05:00
8d19b23597 Add Cursor::go_up() and go_down()
They currently allow going to EOL
2016-11-06 14:28:56 -05:00
9dee74d18b Rename iterator movement functions 2016-11-06 14:04:38 -05:00
1db3853dab Implement Cursor go_start_of_line()/go_end_of_line() 2016-11-03 19:50:00 -04:00
37ad814b53 begin working on Cursor movement routines 2016-11-02 23:30:12 -04:00
e545336c51 Add checking versions of iterator movement functions 2016-11-02 21:27:13 -04:00
dcba852712 add GapBuffer::Iterator::operator*() 2016-11-02 21:16:20 -04:00
35b35cb2f1 Implement GapBuffer::Iterator movement functions 2016-11-02 21:11:09 -04:00
7d87de4bf1 Begin adding GapBuffer::Iterator and GapBuffer::Cursor 2016-11-02 20:55:40 -04:00
a865ff0163 pass encoding to GapBuffer 2016-11-02 20:36:35 -04:00
2598b10e36 change Span length from uint32_t to size_t 2016-11-01 23:08:03 -04:00
739fc1b2a7 remove unused header 2016-11-01 23:06:09 -04:00