518b9a7e42
Console editor appears to be back up to snuff again!
2015-01-24 21:38:13 -08:00
4caad17e56
Console drawing is almost back up to snuff.
...
Just missing drawing the cursors if it's at the end of the text buffer.
2015-01-24 21:00:30 -08:00
c69ebc240f
WIP: making Buffers so they can be given LineFormatters.
...
A LineFormatter determines how a line of text is visually displayed in
2d space. This allows both the Console and GUI version of the editor
to share the same buffer code whilst still handling the differing ways
in which both handle visual display.
2015-01-24 14:35:49 -08:00
ac784077f0
Split cursor code into separate file.
...
There is now a CursorSet type that handles multiple cursors, and makes
it convenient to maintain the necessary invariants expected by the rest
of the code for multi-cursor editing.
2015-01-18 15:11:49 -08:00
9a22812cf1
First steps towards multiple cursor support.
2015-01-13 00:03:16 -08:00
d6e28b02a3
Fixed some warnings.
2015-01-11 01:16:21 -08:00
f8cf8e620b
Moved tab_width to Buffer, and misc cleanup related to that.
2015-01-10 23:42:59 -08:00
8b1f1b1e96
Renamed and documented the buffer position conversion functions.
2015-01-10 16:34:28 -08:00
6b5b63dba1
Added full undo/redo functionality.
2015-01-10 12:29:58 -08:00
8fd1659292
Better unit test hygiene, and renamed buffer len() to grapheme_count().
2015-01-10 11:48:20 -08:00
b837d488a5
Basic undo functionality.
2015-01-09 22:02:32 -08:00
0fb338f05b
Updated code to compile with Rust 1.0 alpha.
2015-01-09 18:50:27 -08:00
ff6c763821
Soft tabs and user-settable tab-widths are now supported.
...
Also, indentation style is automatically detected on file load.
2015-01-04 00:09:34 -08:00
0941339906
Basic line-ending detection when opening files.
...
Buffers now store what line-ending type they consider themselves to be,
and the ui uses that when adding new lines while editing.
2015-01-03 15:15:14 -08:00
f760d6078d
Added jump-to-line functionality and fixed some display bugs.
2015-01-03 13:09:12 -08:00
a85a3bf8fa
Added status/info line at top of terminal UI.
2015-01-02 17:41:08 -08:00
250a1f94ef
Implemented delete key.
2015-01-02 16:52:29 -08:00
940068a4dd
Fixed some bugs relating to text and cursor printing.
2015-01-02 16:47:17 -08:00
fc78fbeb3e
Non-uniform-width characters are now properly handled (modulo bugs).
2015-01-02 15:05:21 -08:00
74edf72cde
First attempt at support for variable-width graphemes.
...
Doesn't completely work, but it's on the right track.
2015-01-01 17:35:34 -08:00
02fdbcf027
Files loading/saving is working again.
2014-12-31 20:36:23 -08:00
cb5b79ec9c
Changed editor drawing to use line iterators.
...
This makes the code easier to follow, and will make it easier to
accomodate non-uniform width graphenes later on.
2014-12-31 20:19:12 -08:00
49b34e78d5
Got basic editing functionality up and running again after the refactor.
2014-12-31 18:39:01 -08:00
eb035b66c7
Added pageup/pagedown functionality.
2014-12-27 16:11:00 -08:00
74cd79745f
Scrolling in the editor by following the cursor now works.
2014-12-27 13:59:41 -08:00
bf099d0f6d
Basic cursor movement is now working properly.
2014-12-26 19:29:52 -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
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