204 Commits

Author SHA1 Message Date
289af1b8c7 draw status bar again 2016-11-25 09:53:54 -05:00
3f573cac40 move GL logic to new GL module 2016-11-25 09:53:54 -05:00
59ce578415 rename src/gui/Shaders -> src/gui/gl 2016-11-25 09:09:28 -05:00
1e40243664 add temporary buffer drawing with gap buffer before GUI code refactoring 2016-11-25 08:57:46 -05:00
1e2aae4136 start on gap buffer drawing 2016-11-09 23:08:33 -05:00
b4ae0d5377 rows and columns must be >= 1 2016-11-09 22:51:10 -05:00
afd584566c avoid empty screen rows if there is buffer content to fill them 2016-11-09 22:43:04 -05:00
74b9421f30 Window: add a cursor 2016-11-09 21:40:11 -05:00
abb11a0b8c Fix cursor go_up()/go_down(), turn on unit tests 2016-11-07 22:42:54 -05:00
5c9f7a7645 turn on tests for Buffer::write_to_file() 2016-11-07 22:36:32 -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
42d850a4db add a gap position to GapBuffer 2016-11-01 23:03:53 -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
444653822e start on GapBuffer class 2016-11-01 22:18:44 -04:00
fbca1f995a remove PieceTable 2016-11-01 21:44:01 -04:00
65468bd2e5 Change TextLoader for gap buffer approach
- for CR line endings, convert all CR to LF
- for CRLF line endings, convert all CRLF to LF
2016-11-01 20:53:54 -04:00
1f3ecf950f draw cursor at end of line when in insert mode 2016-10-29 15:33:59 -04:00
65dea7f84f draw cursor skinner in insert mode 2016-10-29 15:11:42 -04:00
16029506c7 redraw screen when entering insert mode 2016-10-29 15:06:21 -04:00
a268c673fa re-calculate cursor column for all cursors on any insertion 2016-10-29 15:05:43 -04:00
35ff48c38f place cursor after currently-inserting piece
cursor currently is not updating while inserting
2016-10-29 12:06:58 -04:00
239da4962e change to CTRL+q to quit for now 2016-10-29 11:02:28 -04:00
752d5b2071 insert key values as code points in insert mode 2016-10-29 09:12:50 -04:00
fe64622762 Create empty inserting piece when entering insert mode 2016-10-29 09:07:48 -04:00
827f4efdd9 handle keys based on code point with modifier flags 2016-10-29 01:51:16 -04:00
fa752fefde begin reworking keyboard handling 2016-10-29 01:40:27 -04:00
7ba7abc029 keep track of current keymod 2016-10-29 00:43:25 -04:00
e5c4ee00c0 test return values from check_go_*() cursor movement functions 2016-10-28 21:56:04 -04:00
9756519f13 Fix PieceTable::Cursor::prev_line and next_line to support empty pieces 2016-10-28 21:51:51 -04:00
878b9aaf34 Make Cursor::is_start_of_line() and Cursor::is_end_of_line() safe for empty pieces 2016-10-26 22:03:28 -04:00
fd6ef8cab0 Make Cursor::go_start_of_line() and Cursor::go_end_of_line() safe for empty pieces 2016-10-26 21:20:42 -04:00
cd44deda9e add Iterator::piece_eol() 2016-10-26 20:46:50 -04:00
8432e7f4b7 update comparison operators for Iterator/Cursor 2016-10-26 20:43:39 -04:00
523eba81f5 update Window initial size to 800x800 for now 2016-10-25 21:31:12 -04:00