|
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 |
|
|
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 |
|
|
2289fe123e
|
only set the clear color once
|
2016-09-13 22:21:30 -04:00 |
|
|
c852e9991b
|
add a rectangle shader
|
2016-09-13 22:19:47 -04:00 |
|
|
6d8c8e76a9
|
add colrow_to_xy() and refactor to use it
|
2016-09-13 21:46:31 -04:00 |
|
|
980ec3a295
|
draw cursor crosshairs
|
2016-09-13 21:25:10 -04:00 |
|
|
cde71ac70a
|
keep a target cursor column to move to when moving cursor up or down
|
2016-09-12 21:38:13 -04:00 |
|
|
7d3b66fe84
|
do not attempt to draw tab characters
|
2016-09-11 20:48:21 -04:00 |
|
|
f876b68bd0
|
Add cursor movements to move to SOL and EOL.
|
2016-09-07 22:31:24 -04:00 |
|
|
c2166b4bd1
|
warp cursor within scroll range on window resize
|
2016-09-07 22:06:53 -04:00 |
|
|
7df23e971e
|
Unlock cursor from first screen row
|
2016-09-06 22:58:33 -04:00 |
|
|
7784024af1
|
remove Window::scroll_{up,down}()
|
2016-09-06 21:42:38 -04:00 |
|
|
a68ccb52e4
|
Do not redraw screen on cursor move if the cursor didn't actually move
|
2016-09-06 21:18:14 -04:00 |
|
|
86246385d4
|
Draw text based on new cursor movement system
The cursor row still locked to the first row for now
|
2016-09-06 21:05:24 -04:00 |
|
|
01bf455e68
|
Use an OpenGL array object to draw the cursor
|
2016-08-27 21:38:48 -04:00 |
|
|
33a190c495
|
complete cursor movement routines taking Encoding and tabs into account
|
2016-08-27 21:38:48 -04:00 |
|
|
b478d17e16
|
add Interator and Cursor constructors
|
2016-08-27 15:43:35 -04:00 |
|
|
d6b3810a3c
|
Split some PieceTable::Cursor functionality into PieceTable::Iterator
|
2016-08-27 15:20:08 -04:00 |
|
|
f659c14242
|
add Encoding::decode()
|
2016-08-15 22:14:47 -04:00 |
|
|
b2bed71ee4
|
add Encoding::beginning_of_code_point()
|
2016-08-11 23:13:32 -04:00 |
|
|
1aa9fb0c41
|
add Encoding::num_bytes_in_code_point()
|
2016-08-11 23:08:21 -04:00 |
|
|
490505faa1
|
detect file encoding when loading it
|
2016-08-11 20:11:13 -04:00 |
|
|
c4253078a9
|
add Encoding class
|
2016-08-11 20:03:53 -04:00 |
|
|
3c5a7b7341
|
add initial cursor movement support
|
2016-08-08 22:40:47 -04:00 |
|
|
81e6a53c08
|
add PieceTable.tabstop attribute
|
2016-08-04 22:42:27 -04:00 |
|
|
f6338da8d0
|
add PieceTable::Cursor::operator*(), add unit test
|
2016-08-04 22:38:18 -04:00 |
|
|
abf853e1ba
|
link from a piece table cursor object back to the containing piece table
|
2016-08-04 22:19:13 -04:00 |
|
|
728e389c1e
|
add column to a PieceTable::Cursor
|
2016-08-01 22:02:42 -04:00 |
|