fc07ee3444
Reorg text_encoding sub-crate a bit and make it no_std.
2018-08-21 21:13:00 -07:00
3a17ca9e8c
Added utf32 encoders/decoders to the text_encoding sub-crate.
2018-08-21 05:25:53 -07:00
173837b827
Added property testing for encoding round-tripping.
...
Also fixed a bug in the utf16 encoders/decoders.
2018-08-20 22:30:39 -07:00
a82b06794e
Added Windows-1252 support to text_encoding sub-crate.
2018-08-20 21:09:01 -07:00
3ea4e25fbe
Adjusting APIs for text encoding/decoding.
2018-08-19 19:14:13 -07:00
2f5adfad75
Run rustfmt. No functional changes.
2018-08-17 20:36:24 -07:00
0ee183aa72
WIP creating a clean frontend/backend separation.
...
- Started work on writing a new backend.
- Started work on writing text encoding handling.
2018-08-17 20:34:43 -07:00
b713b72e72
Updating for latest Ropey master.
2018-08-10 16:08:11 -07:00
8fc872bb2d
Updating to latest versions of crates.
2018-07-28 17:16:47 -07:00
2b42124100
Update to Ropey 0.8.2.
2018-07-22 03:17:59 -07:00
75742c7aa4
Fixed bug with gutter size not updating as line numbers get wider.
2018-07-20 01:31:56 -07:00
db5f6c7e64
Update to Ropey v0.8
2018-07-14 21:41:12 -07:00
bba508a814
Forgot to run rustfmt.
2018-07-14 01:32:58 -07:00
a3d98a59fb
Updated to lastest master Ropey.
2018-07-14 01:32:24 -07:00
e31f464702
Make it easy for me to switch between release and master Ropey.
2018-07-06 17:55:32 -07:00
c1c7bfc986
Update to Ropey 0.7.0.
2018-07-05 22:46:20 -07:00
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