Commit Graph

35 Commits

Author SHA1 Message Date
f0f6980b6d Added a bunch more tests for Buffer, and fixed line removal code. 2014-12-31 00:31:42 -08:00
720246142e WIP refactor: text can now be inserted into empty buffers. 2014-12-30 22:55:23 -08:00
c88ba48b6d WIP refactor: change text buffer to use the Line struct for storing text.
Most of the UI and editor code is either commented out or not included
in the compile right now.  This is temporary while I get the basic
text code working again.
2014-12-29 16:17:53 -08:00
370d8a315e WIP refactor: changing internal text representation to be line-based.
This will make some of the internals a little more complex, but should
simplify things on the balance.
2014-12-28 20:53:25 -08:00
e3e2c866b9 We now store character widths in TextBlocks.
This is the first step towards supporting proportional fonts
and tabs characters.
2014-12-28 13:44:38 -08:00
9e35085573 Fixed some minor behavior problems in cursor movement and pageup/pagedown. 2014-12-27 17:01:57 -08:00
97e1259feb Updated todo file. 2014-12-27 16:28:02 -08:00
eb035b66c7 Added pageup/pagedown functionality. 2014-12-27 16:11:00 -08:00
4d68a36070 Updated todo file. 2014-12-27 14:05:59 -08:00
74cd79745f Scrolling in the editor by following the cursor now works. 2014-12-27 13:59:41 -08:00
833e92c5a0 Added a some text manipulation methods, and made backspace work properly. 2014-12-26 21:03:13 -08:00
c1c33ae618 Minor fix for cursor movement. 2014-12-26 19:37:55 -08:00
bf099d0f6d Basic cursor movement is now working properly. 2014-12-26 19:29:52 -08:00
5105622dcb Fixed bug in pos_2d_to_closest_1d() code. 2014-12-26 17:49:42 -08:00
d979b2cfdc Cleaned up UI display code. 2014-12-26 17:42:16 -08:00
16945f4183 Updated code to work with new versions of libraries.
Also added backspace support.
2014-12-26 17:15:20 -08:00
f469240860 Misc bug fixes on the way towards a proper editing interface. 2014-12-20 18:45:01 -08:00
a56ff95221 WIP: building a proper UI for editing a file.
Some things don't quite work properly yet...
2014-12-20 17:23:47 -08:00
421b5288a4 Split buffer.rs into various sub-modules for better organization. 2014-12-19 23:22:30 -08:00
baafe5284d Updated todo. 2014-12-19 22:46:47 -08:00
a31a0a2c41 Basic file loading/saving. 2014-12-19 22:43:31 -08:00
fec361ad29 Refactored event loop.
This allows large numbers of events to be handled in bulk, but without
the program eating up CPU when idle.
2014-12-19 21:10:03 -08:00
ef64bd8f1c Fixed bug in tree balancing. Text rope is now fully self-balancing. 2014-12-19 00:23:08 -08:00
4f987ffa16 First attempt at self-balancing rope. Totally broken, though. 2014-12-16 23:40:28 -08:00
ab992301fd Updated todo file. 2014-12-14 23:24:41 -08:00
3154d626ff Escape quits, return inserts a new line. 2014-12-14 23:11:13 -08:00
b78501f983 Super simple text editing interface!
No cursor yet, just always appends to the end of the current buffer.
But still!
2014-12-14 21:06:48 -08:00
9c4e11bc9c Created an iterator for TextBuffers.
In the process, I've also changed all of the text interfaces to work in
term of unicode code-points instead of bytes.  This ensures that editing
operations never corrupt utf8 data.
2014-12-14 16:43:17 -08:00
4a93800780 Added readme and todo files. 2014-12-13 19:22:40 -08:00
8b62f01222 Better node splitting for large text insertions. 2014-12-13 19:16:28 -08:00
f85dd9c1db Text removal now works on text ropes. 2014-12-13 18:54:56 -08:00
65c900a237 Beginnings of a rope text buffer implementation. 2014-12-13 15:27:47 -08:00
b1dd62f8db Fleshing out TextBlock's APIs. 2014-12-13 11:51:12 -08:00
05a9016714 Beginnings of a text buffer. 2014-12-13 02:02:51 -08:00
8ce0631155 Getting dependencies and such setup properly. 2014-12-12 23:33:13 -08:00