|
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 |
|
|
66105dc88f
|
Separate PieceTable::Cursor::go_*() into go_*() and check_go_*()
|
2016-10-25 21:13:47 -04:00 |
|
|
ef717faa16
|
fix Buffer::write_to_file() to preserve EOLs correctly
|
2016-10-25 20:47:54 -04:00 |
|
|
1f59e4d042
|
update PieceTable::Iterator to allow empty pieces
|
2016-10-25 20:36:08 -04:00 |
|
|
b9c23084be
|
shrink up the Change structure a bit
|
2016-10-18 21:53:18 -04:00 |
|
|
14a3c17835
|
remove unused Change::insert field
|
2016-10-15 20:02:52 -04:00 |
|
|
c6a8d1597e
|
insert-after-char should insert-before-char if char is EOL marker
|
2016-10-15 18:40:36 -04:00 |
|
|
7557fc4c1e
|
do not draw \n characters
|
2016-10-15 18:38:59 -04:00 |
|
|
261cc9abf8
|
adjust cursor movement to optionally allow moving to EOL
|
2016-10-15 18:07:58 -04:00 |
|
|
4ebe81c062
|
remove EOL Piece flag; use \n in memory to represent EOL
(cursor movement needs to be updated yet)
|
2016-10-15 09:42:38 -04:00 |
|
|
85ab570ce5
|
remove some unused parameters
|
2016-10-14 22:22:21 -04:00 |
|
|
4d5e3dc0ea
|
continued insertion testing, not sure i like this method
|
2016-10-08 16:59:11 -04:00 |
|
|
08dd616bef
|
add unit tests for Encoding::encode()
|
2016-10-08 15:36:22 -04:00 |
|
|
24e6eb7f04
|
add unit tests for Encoding module
|
2016-10-06 22:45:38 -04:00 |
|
|
ac439d30bc
|
add Encoding::encode()
|
2016-10-06 20:45:16 -04:00 |
|
|
fdabf4432a
|
add Encoding::num_bytes_to_encode_code_point()
|
2016-10-05 23:10:41 -04:00 |
|
|
99bbe81f6b
|
add PieceTable::begin_insert()
|
2016-10-05 22:47:08 -04:00 |
|
|
807eba4448
|
avoid segfault when undoing to get back to empty buffer
|
2016-10-05 21:40:08 -04:00 |
|
|
fe9747390a
|
Add PieceTable::apply_change() and an initial undo
|
2016-09-26 22:54:19 -04:00 |
|
|
5b662b63e0
|
add PieceTable::apply_change()
|
2016-09-26 22:34:29 -04:00 |
|
|
249fd87067
|
introduce a PieceTable::Change structure to record changes
|
2016-09-26 22:30:41 -04:00 |
|
|
0a1bb6eb92
|
remove unused Window::m_start_piece
|
2016-09-26 20:24:16 -04:00 |
|
|
c2c0d6f042
|
add a piece table insertion test
|
2016-09-25 23:01:59 -04:00 |
|
|
bc4c5b5c98
|
fix PieceTable::Cursor::next_line()
|
2016-09-25 22:58:13 -04:00 |
|
|
6e5489c88e
|
do not allow cursor movements for non-valid cursors
|
2016-09-13 23:16:23 -04:00 |
|
|
7e518cd27a
|
rename draw_text() to draw_buffer()
|
2016-09-13 22:55:48 -04:00 |
|
|
b9d7e1f93e
|
Show cursor position in status bar
|
2016-09-13 22:51:51 -04:00 |
|
|
f9fd1dc754
|
Add a status bar (empty for now)
|
2016-09-13 22:26:56 -04:00 |
|