338 Commits

Author SHA1 Message Date
671ba8312a Get the page size on Windows 2017-01-20 14:45:41 -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
b5cb693317 Only allow one pending keyboard event for any given key 2017-01-19 21:15:06 -05:00
3cd988bc3a expand command buffer to multiple lines as command length grows 2017-01-19 21:06:20 -05:00
2ecee3f09a clear the command buffer when changing focus away from it 2017-01-19 20:44:35 -05:00
dc64b9774f add a window icon 2017-01-19 20:38:38 -05:00
a65a9fec41 Print a stderr message with more information about why creating the window failed 2017-01-19 09:27:16 -05:00
3dcc6b2350 clear command buffer pane and return focus to file buffer pane when pressing enter in command buffer 2017-01-18 22:57:15 -05:00
baa5d9ef07 add BufferPane::clear() 2017-01-18 22:53:49 -05:00
276c756bb7 fix Buffer::clear() to update iterators 2017-01-18 22:51:33 -05:00
47d15ca858 add Buffer::clear() and Buffer::set_string() 2017-01-18 22:36:41 -05:00
22b2cd426e add GapBuffer::clear() and GapBuffer::set_string() 2017-01-18 22:20:36 -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
9d150524fb keep track of the focused buffer pane 2017-01-18 21:22:39 -05:00
f2770d66fd set the buffer pane focus 2017-01-18 21:18:07 -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
16d4b1e21b shift+space should insert a space 2017-01-17 23:13:19 -05:00
30290e86f5 allow BufferPane to turn off its status bar 2017-01-17 09:09:38 -05:00
837380c3ca support numpad keys 2017-01-15 22:18:51 -05:00
5b0a7c44d8 handle page up / page down keys 2017-01-15 21:54:52 -05:00
08529fc115 keep cursors off newlines after applying change operations when not in insert mode 2017-01-15 21:44:57 -05:00
3d090b0f32 handle Delete key in insert mode properly 2017-01-15 21:38:37 -05:00
2e2cdfdb81 bug fix: when applying change operations in reverse, apply their change units in reverse order 2017-01-15 20:58:18 -05:00
4e03fbc3de fix bug of undo/redo creating new change operations themselves 2017-01-15 20:33:37 -05:00
861aaed940 add unit test for coalescing erase change units within a change operation 2017-01-15 20:23:27 -05:00
3b1bea80aa fix bug dealing with coalescing erase change units within one change operation 2017-01-15 20:23:09 -05:00
e98454c771 add unit tests for buffer insert/erase character 2017-01-15 19:46:33 -05:00
0ab26dea2f move GapBuffer::copy_to() implementation out of header file 2017-01-14 16:55:13 -05:00
f7e077d8ef Use VirtualAlloc() instead of mmap() on Windows 2017-01-14 09:48:54 -05:00
2c633a9ddb add TODO for supporting undo tree 2017-01-11 22:53:19 -05:00
f1815d04d9 do not attempt to redo past the last available operation 2017-01-11 22:53:19 -05:00
089d63f337 add 'u'/'r' commands for undo/redo for now 2017-01-11 22:53:19 -05:00
9d970d1aee add BufferPane::{undo,redo}() 2017-01-11 22:53:19 -05:00
cac339a9f2 do not store a change operation with no change units 2017-01-11 22:53:19 -05:00
2057c69585 add Buffer::{undo,redo}() 2017-01-11 22:18:02 -05:00
e0615011a3 add Buffer::apply_change_{operation,unit}() for undo/redo 2017-01-11 21:55:59 -05:00
fca838fcbf fix problem of record_change() not receiving contiguous range by using GapBuffer::copy_to() 2017-01-09 22:11:08 -05:00
b9313ad606 add GapBuffer::copy_to() 2017-01-09 22:05:43 -05:00
5de13644de add Buffer::INVALID_CHANGE_OPERATION_INDEX 2017-01-09 21:46:52 -05:00
f3753be4eb refactor Buffer insert and delete operations
add Buffer functions to insert/erase data chunks
2017-01-09 21:34:16 -05:00
66aa9c5235 add Buffer::Iterator::{prev,next}() 2017-01-09 20:26:18 -05:00
6108d09e8d add Buffer::Iterator::warp_to_offset() 2017-01-07 16:34:01 -05:00
904ac01a1c record the parent ID of each change operation 2017-01-07 16:22:42 -05:00
5f37229c19 when adjusting cursor iterators, always keep them valid 2017-01-07 16:22:28 -05:00
85dbf75b11 add Buffer::add_cursor() 2017-01-07 15:03:51 -05:00
924d005020 Buffer: refactor common iterator warping code into warp_iterators() 2017-01-07 14:15:46 -05:00