318 Commits

Author SHA1 Message Date
a8b39f8884 Fix text insertion point not following cursor
Always supply iterator position when inserting code points
2017-01-05 21:21:38 -05:00
314b39b81a allow home/end/arrow keys to move cursor in command or insert mode 2017-01-05 21:05:46 -05:00
95381faedc fix finding runtime files relative to the executable path 2017-01-03 19:01:48 -05:00
4017d8237e Add System::executable_path() 2017-01-03 18:59:12 -05:00
7a9ee92eaa define PLATFORM_xxx macros for supported platforms 2017-01-03 18:51:57 -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
46f5059a0b add test/files/control-characters.txt 2016-12-30 12:10:43 -05:00
bdf4d7e336 increase key repeat delay a little 2016-12-29 19:58:04 -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
90aa5ada70 move KEYMOD_ enums to a Keymod namespacing class 2016-12-29 18:51:00 -05:00
0295c593ab move all key handling out of BufferPane and back to Window 2016-12-29 18:44:56 -05:00
325aa5d93c remove BufferStatusPane forward declaration 2016-12-29 18:16:32 -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
929bda355f add an EOF iterator to track the end of the file and number of lines 2016-12-28 13:03:38 -05:00
301fbf09f1 absorb BufferStatusPane logic into BufferPane 2016-12-27 20:54:05 -05:00
e6501ec4fc use CTRL+w to write the file out for now 2016-12-27 20:41:44 -05:00
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