536 Commits

Author SHA1 Message Date
c059cd8c09 display buffer name in buffer status pane 2016-12-27 20:26:10 -05:00
64ed3174ac record buffer filename 2016-12-27 20:10:58 -05:00
8542de4ee1 display column as 0 on empty lines in command mode 2016-12-27 19:50:35 -05:00
2339380dd3 fix column number displayed for an empty buffer 2016-12-27 19:32:42 -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
30fe7e32d3 handle backspace in insert mode 2016-12-27 14:05:24 -05:00
cca426b16b add 'x' command to erase a character under the cursor 2016-12-26 14:04:13 -05:00
64a09fca0f add Buffer::erase_code_point() 2016-12-26 14:01:24 -05:00
bbd38c76a2 move cursor down a row when inserting a \n 2016-12-26 13:41:17 -05:00
832f62add7 turn Return key into \n instead of \r 2016-12-26 13:39:02 -05:00
92b3e888b5 Add GapBuffer::erase() 2016-12-26 13:28:37 -05:00
57d525ae44 fix 'a' command from inserting after EOL on an empty line 2016-12-26 09:05:21 -05:00
a37e03fff1 move cursor back one character when exiting insert mode 2016-12-26 09:03:26 -05:00
95bd01cf7a add 'a' command 2016-12-26 09:01:28 -05:00
cadd5bac36 Warp all cursors at/after the insert point when inserting a code point 2016-12-26 08:56:36 -05:00
59b8fc5e31 preserve cursor column when moving up/down lines 2016-12-25 18:07:45 -05:00
e21c24e2cc add BufferPane::determine_new_cursor_screen_row() to allow the cursor to move properly within the screen 2016-12-25 13:01:40 -05:00
83a6c1a983 record screen layout when drawing 2016-12-25 12:46:06 -05:00
239afdfd25 change insert mode cursor 2016-12-24 15:46:31 -05:00
4c412e10d7 allow entering and exiting insert mode 2016-12-24 15:40:53 -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
1a34b8d7f7 turn on buffer status pane cursor position display again 2016-12-24 15:03:38 -05:00
a39e1d3956 fix calculating cursor screen row for multi-row lines 2016-12-24 14:57:52 -05:00
4d737d09d4 draw partial rows at bottom of screen but do not allow cursor to go there 2016-12-24 14:49:08 -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
3c73b9ae97 cursor positioning fix 2016-12-24 14:25:25 -05:00
dce5e68941 fix dropping lines above cursor line 2016-12-24 14:07:13 -05:00
b40a5e243b fix row count for empty rows 2016-12-24 13:57:58 -05:00
252f4121f3 turn on unit tests for iterators instead of cursors 2016-12-21 23:47:26 -05:00
4ad5615dff fix Buffer::Iterator::go_previous_line() and go_next_line() 2016-12-21 22:10:58 -05:00
8c834c9d7c start to do some cursor movement again 2016-12-21 21:11:29 -05:00
08dab099a7 add BufferPane::walk_line() to commonize logic for laying out a line to the screen 2016-12-21 19:43:54 -05:00
24fced221f start re-implementing BufferPane::draw_buffer_line() 2016-12-21 19:23:39 -05:00
83d4a86e4b fix BufferPane::rows_in_line_with_iterator_offset() comparing to reference iterator 2016-12-21 19:07:28 -05:00
9733d577a7 take into account tab characters when counting line row heights 2016-12-21 18:36:47 -05:00
f7d0c8189a fix BufferPane::screen_rows_below_line() while loop 2016-12-21 18:18:19 -05:00
1486cdf7f4 update BufferPane::update_cursor_row() in preparation for drawing again 2016-12-20 23:24:06 -05:00
975b7763a8 add two more BufferPane utility functions to calculate available screen rows before and after the cursor line 2016-12-20 23:07:00 -05:00
cf4723854e add some utility functions in preparation for drawing screen with multi-column characters 2016-12-20 23:01:30 -05:00
bc3309a328 Prepare for screen drawing again after Cursor removal.
Add BufferPane::character_width() to handle multi-column characters.
2016-12-20 20:22:19 -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
24eb47b0ad do not echo coverage-generating commands 2016-12-18 19:04:19 -05:00
71920ddbcb generate HTML coverage reports for unit tests 2016-12-18 16:09:06 -05:00
82036458e6 build unit tests with --coverage 2016-12-18 15:34:03 -05:00
fc10da76e7 Build main application and test suite separately from make targets 2016-12-18 15:22:17 -05:00
968db413e6 Remove Cursor and move line-tracking into Iterator 2016-12-18 14:51:52 -05:00