f0a44ab300
More work on the backend, including adding data hashing code.
2020-01-22 10:17:56 +09:00
540803e0ee
Update dependencies.
2019-09-01 11:40:02 +09:00
6f4e619263
Update dependencies, including Ropey -> 1.0.
2019-01-06 17:38:44 -08:00
38ec53808f
Upgrade to latest version of dependencies, including Ropey v0.9.0.
2018-09-05 15:35:33 -07:00
a843aee904
Split text_encoding off into its own repo.
...
It's more generally useful, and I was working with it as its own
crate anyway.
2018-08-23 13:33:14 -07:00
30a1440399
Tests for single-byte encodings, and related bug fixes.
2018-08-23 13:21:16 -07:00
3d8eaefa6b
Added a lot of single-byte text encodings to text_encoding sub-crate.
...
They are largely auto-generated from text-based tables from the
WHATWG encoding standard. Most of them are still not available
in the code itself, but they are generating correctly, and exposing
them is just a matter of boiler plate.
2018-08-23 02:29:58 -07:00
3203da38bd
Added unit tests for windows1252 encoding/decoding.
2018-08-22 19:00:47 -07:00
fb95ff36c1
Added unit tests for latin1 encoding/decoding.
2018-08-22 18:17:05 -07:00
9409bfe7fb
Tests for utf8 encoding/decoding, and improved utf8 errors.
2018-08-22 17:53:07 -07:00
006b578318
Change encoding/decoding function naming.
...
I think this makes it more obvious at-a-glance what they do.
2018-08-22 15:05:38 -07:00
37acbba36a
Added unit tests for utf32 encoding/decoding.
2018-08-22 12:55:52 -07:00
2cc4bc64ba
More utf16 encode/decode tests, and accompanying fixes.
2018-08-21 22:32:19 -07:00
60cbb193b2
Added unit tests for utf16 encoding/decoding.
2018-08-21 22:18:22 -07:00
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