49b34e78d5
Got basic editing functionality up and running again after the refactor.
2014-12-31 18:39:01 -08:00
71913eed31
Got grapheme iterators and 1d/2d position translation working.
2014-12-31 17:55:20 -08:00
95d6d3fd3e
Got remove_text() working.
...
At least, based on the unit tests so far.
2014-12-31 17:05:24 -08:00
28a4da97a7
More WIP remove_text().
2014-12-31 13:15:58 -08:00
0794d5c6ec
WIP remove_text()
2014-12-31 01:20:51 -08:00
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