91 Commits

Author SHA1 Message Date
0fcc3d3c68 Implement dt*,dT*,df*,dF* 2017-11-24 12:42:22 -05:00
f091ee6590 Implement dd command to delete line 2017-11-24 12:33:11 -05:00
c77be4c482 Implement X command 2017-11-15 21:05:12 -05:00
2d559db7d0 BufferView: cursor_move() takes a character argument 2017-11-15 20:32:01 -05:00
7648bee12e draw control characters in different color font 2017-10-14 12:30:28 -04:00
1c673817d2 BufferPane: add ability to draw line number gutter 2017-09-26 20:47:48 -04:00
6d310f0f14 BufferPane: remove some cursor-tracking fields that are now tracked by BufferView 2017-09-23 16:12:52 -04:00
a93578288e fix cursor column handling 2017-09-23 16:08:34 -04:00
79aa91bf49 draw crosshair below cursor for wrapped cursor lines 2017-09-23 10:34:00 -04:00
22171cacf9 begin using BufferView class to control the BufferPane layout 2017-09-20 19:34:57 -04:00
382552d25c use a simple rectangle for insert-mode cursor 2017-09-19 20:45:56 -04:00
ee0d1e0d0e remove BufferPane::write_file() and handle writing from Window class 2017-01-27 20:58:15 -05:00
2ae1d72d6a Buffer::filename() returns shared_ptr to string 2017-01-27 20:50:15 -05:00
9a34bfe4ba Draw crosshair for the current line to the end of the screen row 2017-01-24 22:09:10 -05:00
bb8dc6a6a4 fix expanding command buffer pane when cursor wraps to next line 2017-01-21 12:37:41 -05:00
8d6112ed32 fix drawing highlight when in insert mode at the end of a line 2017-01-21 12:31:50 -05:00
677c4fd6e1 do not draw cursor crosshairs in command buffer pane 2017-01-19 21:49:25 -05:00
ec9b47d113 Add cursor crosshairs 2017-01-19 21:48:02 -05:00
be201ab73d remove unused BufferPane::draw_buffer_character() 2017-01-19 21:23:25 -05:00
baa5d9ef07 add BufferPane::clear() 2017-01-18 22:53:49 -05:00
211ce0185c pass \n to BufferPane when inserting a newline 2017-01-18 22:00:57 -05:00
12c034fb8f Add ':' command to focus command buffer pane 2017-01-18 21:46:34 -05:00
0d5b0e0437 Draw cursor as hollow when the buffer pane is not focused 2017-01-18 21:15:00 -05:00
212215bf4d Add command buffer pane 2017-01-17 23:50:24 -05:00
30290e86f5 allow BufferPane to turn off its status bar 2017-01-17 09:09:38 -05:00
3d090b0f32 handle Delete key in insert mode properly 2017-01-15 21:38:37 -05:00
9d970d1aee add BufferPane::{undo,redo}() 2017-01-11 22:53:19 -05:00
85dbf75b11 add Buffer::add_cursor() 2017-01-07 15:03:51 -05:00
a8b39f8884 Fix text insertion point not following cursor
Always supply iterator position when inserting code points
2017-01-05 21:21:38 -05:00
647b3b85f4 Add CTRL+u,d,f,b,e,y keys to scroll window by different amounts like vim 2017-01-02 11:49:18 -05:00
842557ee46 scroll window on mouse wheel events 2017-01-01 23:59:33 -05:00
94eb9276d9 add BufferPane::scroll_window_up() and scroll_window_down() 2017-01-01 23:50:24 -05:00
92d9597f2e BufferPane: add functions to move cursor up/down by screen row 2017-01-01 23:00:44 -05:00
0d0e47593b BufferPane: keep track of cursor screen column and row offset 2017-01-01 21:32:55 -05:00
7a5b58e8a8 BufferPane: rename functions to calculate rows in lines 2017-01-01 20:58:08 -05:00
b3f972d7f4 add BufferPane::draw_character() and refactor BufferPane::draw_buffer_line() 2017-01-01 19:38:30 -05:00
a2e5f7428c fix cursor being hidden in command mode on empty lines 2016-12-31 12:15:48 -05:00
a508d0048c fix cursor missing at end of line in insert mode 2016-12-29 19:57:49 -05:00
8b2e2a1f6d fix bug where tab width was determined based on screen column instead of line virtual column 2016-12-29 19:50:16 -05:00
d201068428 do not move entire tab character down to next screen line 2016-12-29 19:49:48 -05:00
8181d8343b change cursor width to highlight full character for multi-column characters 2016-12-29 19:42:46 -05:00
027e42da5d add a blue underline to control characters 2016-12-29 19:31:58 -05:00
8a8e329959 change GL::draw_character() to accept a color 2016-12-29 19:24:45 -05:00
53d8df95f8 draw control characters with 2 ASCII characters starting with '^' 2016-12-29 19:17:34 -05:00
0295c593ab move all key handling out of BufferPane and back to Window 2016-12-29 18:44:56 -05:00
599ccdb6db add 'o' and 'O' commands 2016-12-28 14:48:17 -05:00
dbe5843d77 add 'A' and 'I' commands 2016-12-28 14:41:44 -05:00
237dbf9c2b add 'g' and 'G' commands to go to first and last line in buffer 2016-12-28 14:07:28 -05:00
8df75f5ab0 add Buffer::Iterator::INVALID_CODE_POINT constant 2016-12-28 13:24:52 -05:00
301fbf09f1 absorb BufferStatusPane logic into BufferPane 2016-12-27 20:54:05 -05:00