868aa3363f
Updated some code for Ropey API changes.
2018-07-05 20:13:00 -07:00
f8a38111d4
Some nice performance improvements with a simple optimization.
...
We're now very close to being back to the performance levels
we were at before the new Ropey without built-in grapheme
support.
2018-07-05 18:43:17 -07:00
9348a9a916
Another small optimization.
2018-07-05 05:01:57 -07:00
b19997b975
Did some basic optimizations that made things fast again. Yay!
...
The basis for the optimizations were some less basic changes made
in Ropey.
2018-07-05 04:41:58 -07:00
5ca0f5e406
Fomatted with recent rustfmt. No actual code changes.
2018-07-05 02:00:10 -07:00
de625e71dc
Updated to ropey git master, and got everything working again.
...
However, everything is very, very slow now.
2018-07-05 01:53:17 -07:00
16f2aab223
Updated to latest Ropey.
2018-01-11 02:05:00 -08:00
3f2dbf2c13
Fixed tiny bug in view scrolling behavior.
2018-01-01 15:22:28 -08:00
066f0b03cf
Indentation detection can now detect arbitrary space counts.
...
It was using a fixed-size array before, but now is using a
HashMap. This is technically slower, but it's such a negligible
part of the runtime to begin with that it doesn't matter.
2018-01-01 15:01:19 -08:00
020827806b
Use iterator methods to make auto-detect code a little cleaner.
...
Also use chars instead of graphemes for indent detection code.
Graphemes are slower, and don't provide any benefit there.
2018-01-01 14:06:17 -08:00
7121469cba
Termninal size information wasn't being set properly at startup.
2018-01-01 13:38:51 -08:00
54a16c6383
Fixed bug with word wrapping when a word is longer than a line.
2018-01-01 13:25:06 -08:00
dbb640b330
Fixed a couple of bugs that crashed at tiny terminal sizes.
2018-01-01 12:59:47 -08:00
86ca5f9edf
Another silly bug...
2018-01-01 03:21:27 -08:00
cfcc9ab273
Silly bug due to forgetting to change a line of code.
2018-01-01 03:20:10 -08:00
2591aef6d4
Simplified the screen buffer writing.
...
Turns out the main reason it was so slow was because stdout isn't
buffered in Rust by default. That actually makes a lot of sense,
but I'd forgotten.
Wrapping it in a BufWriter solves the performance issues much more
gracefully.
2018-01-01 03:10:32 -08:00
1f62eb32a0
Fixed a bug where very narrow terminal sizes would crash the editor.
2018-01-01 02:37:33 -08:00
1bb93aae00
Got interactive responsiveness to terminal resizing working.
2018-01-01 02:30:11 -08:00
c91f1801ad
Fixed bug in screen buffer display code.
...
This both more correct and faster at the same time. Yay!
2018-01-01 01:27:37 -08:00
17beb9c06d
Using a smallstring implementation inside the screen buffer.
...
This keeps things contiguous in memory in the common case.
2017-12-31 20:05:00 -08:00
0a309fab1a
Made the screen buffer implemention way faster.
...
It's in a pretty good place now, I think. Although its memory
usage could be improved with a small string type.
2017-12-31 19:40:45 -08:00
945505c5ff
WIP making the buffer faster.
2017-12-31 19:30:28 -08:00
66a80baeed
Doing screen buffering to eliminate flicker.
...
At the moment, it's brain-dead and really slow.
2017-12-31 18:51:02 -08:00
b63bb6f87d
Fixed silly drawing bug.
...
The cursor wasn't displaying if it was on the end of a line.
2017-12-31 17:36:13 -08:00
c7adf195f7
Moving screen drawing handling to a submodule.
2017-12-31 17:30:21 -08:00
c11aee9bf6
WIP switching from Rustbox to Termion for terminal handling.
2017-12-31 16:55:27 -08:00
6ccba0510b
Forgot to delete a bit from commandline option parsing.
2017-12-31 03:35:09 -08:00
e47c0e0451
Updated to the latest versions of dependencies.
2017-12-31 03:33:43 -08:00
a5ff555af3
Version bump and updated readme.
2017-12-31 03:12:21 -08:00
29b17f6e20
Fixed minor bug in cursor navigation.
2017-12-31 03:04:25 -08:00
76bd98e5ae
Got cursor movement working with graphemes, and fixed unit tests.
2017-12-31 02:41:07 -08:00
f221b90a82
Fixed cursor drawing for texts with graphemes in them.
2017-12-31 02:17:28 -08:00
2e9c2b2704
WIP getting graphemes working again.
2017-12-31 01:56:45 -08:00
ca948588e6
Fixed line-ending detection.
2017-12-31 01:04:33 -08:00
eb47c4844b
Remove unused import.
2017-12-31 00:45:05 -08:00
c9d8be0704
Use Ropey's reader to load from disk.
...
Saves memory and is also faster. Win-win!
2017-12-31 00:43:37 -08:00
2da187ff5d
Got it fully working again except for graphemes.
2017-12-31 00:39:02 -08:00
47ed45aae6
More fixing.
2017-12-30 23:47:05 -08:00
9c302620e9
Updating to use the new Ropey.
...
This is mainly just for kicks and giggles, since it really won't
work quite properly anyway, due to the lack of grapheme indexing.
The next real thing is to... well, start from scratch.
2017-12-30 23:10:56 -08:00
8d146a595e
Moved Ropey dependency in-tree.
2017-11-25 23:12:37 -08:00
45e6125bbc
Updated to work with more recent library versions. Also RustFmt.
2016-03-05 02:40:01 -08:00
f1ffc2867a
Unit tests now also compile on stable rust.
2015-07-06 19:31:55 -07:00
ec16e8ac6e
Led is building on stable rust! Woo hoo!
2015-07-06 19:20:25 -07:00
6823706d69
Working towards rust stable support.
2015-07-06 18:39:00 -07:00
9644a1aa03
Updated dependencies for stable rust.
...
Warning: doesn't compile. Haven't updated own code for stable
yet.
2015-07-06 18:14:12 -07:00
869cb187b6
Migrated code from std::old_io to std::io
2015-03-15 16:03:23 -07:00
57f013bd46
Updated to latest rustc and rustbox.
2015-03-15 14:47:16 -07:00
1d6a8cb107
Added ability for soft-wrapped lines to have additional indentation.
2015-03-08 19:58:18 -07:00
cbff82b462
Implemented word wrapping.
2015-03-08 19:47:30 -07:00
e1e06633c7
Added option to maintain indentation when wrapping lines.
...
Currently only exposed in code, not in UI. Enabled by default.
2015-03-08 12:18:22 -07:00