rhysd
bf4246482e
update tui to 0.19 and crossterm to 0.25
2022-08-15 20:39:01 +09:00
rhysd
be6eed684d
rename parameters of TextArea::scroll
2022-07-24 10:37:15 +09:00
rhysd
4d6ad3d76b
Merge branch 'scroll' ( fix #2 )
2022-07-24 10:30:31 +09:00
rhysd
63ae3503d4
add document and doc tests for TextArea::scroll and CursorMove::InViewport
2022-07-24 10:05:27 +09:00
rhysd
b54fe5c01d
implement vertial mouse scroll with both crossterm and termion supports
2022-07-23 20:09:26 +09:00
rhysd
2f7fd0c53d
implement TextArea::scroll and CursorMove::InViewport
2022-07-23 19:21:29 +09:00
rhysd
ae4dc99eea
use rust-cache action v2
2022-07-23 11:22:09 +09:00
rhysd
8097183e75
add tests for CursorMove::Top and CursorMove::Bottom
2022-07-20 15:50:00 +09:00
rhysd
851db5eadb
add CursorMove tests for multi-byte characters
2022-07-19 18:49:13 +09:00
rhysd
a7206db6f9
add tests for CursorMove::Head and CursorMove::End
2022-07-19 18:00:04 +09:00
rhysd
0341a4beaa
add tests for CursorMove::Up and CursorMove::Down
2022-07-19 14:36:29 +09:00
rhysd
479b060624
set MSRV to 1.56.1 depending on tui v0.18.0
2022-07-19 11:17:57 +09:00
rhysd
cd14cc10d6
separate section to run a fuzzer in CONTRIBUTING.md
2022-07-18 20:30:44 +09:00
rhysd
75af9fa5ab
update changelog for v0.1.5 changes
2022-07-18 20:21:26 +09:00
rhysd
6af9b24b59
bump up version to v0.1.5
2022-07-18 19:49:09 +09:00
rhysd
dbee036ce6
support generating random CursorMove with arbitrary
2022-07-18 11:43:30 +09:00
rhysd
952158f93a
describe versioning and add search operation to modal usage
2022-07-17 22:01:54 +09:00
rhysd
4e5b684baf
Merge branch 'perf'
...
```
group base main
----- ---- ----
cursor::char::back 1.00 32.8±0.63ms ? ?/sec 1.15 37.7±0.81ms ? ?/sec
cursor::char::down 1.00 29.9±0.62ms ? ?/sec 1.19 35.6±0.82ms ? ?/sec
cursor::char::forward 1.00 31.8±0.74ms ? ?/sec 1.06 33.8±0.90ms ? ?/sec
cursor::char::up 1.00 30.3±0.86ms ? ?/sec 1.02 30.8±0.73ms ? ?/sec
cursor::edge::head_end 1.00 33.2±0.63ms ? ?/sec 1.03 34.3±0.84ms ? ?/sec
cursor::edge::top_bottom 1.00 31.5±0.81ms ? ?/sec 1.11 34.9±0.82ms ? ?/sec
cursor::paragraph::down 1.00 30.1±0.83ms ? ?/sec 1.19 35.7±0.76ms ? ?/sec
cursor::paragraph::up 1.00 30.0±0.68ms ? ?/sec 1.03 30.9±0.63ms ? ?/sec
cursor::word::back 1.00 30.4±0.61ms ? ?/sec 1.05 32.1±0.64ms ? ?/sec
cursor::word::forward 1.00 31.9±0.65ms ? ?/sec 1.18 37.7±0.89ms ? ?/sec
delete::char 1.00 3.4±0.10ms ? ?/sec 4.48 15.3±0.82ms ? ?/sec
delete::line 1.00 1243.4±42.36µs ? ?/sec 7.71 9.6±0.38ms ? ?/sec
delete::word 1.00 2.7±0.10ms ? ?/sec 5.35 14.2±0.37ms ? ?/sec
insert::append::10_lorem 1.00 327.2±4.89ms ? ?/sec 1.00 327.6±4.92ms ? ?/sec
insert::append::1_lorem 1.00 7.0±0.16ms ? ?/sec 1.00 7.0±0.15ms ? ?/sec
insert::append::50_lorem 1.00 3.1±0.02s ? ?/sec 2.24 7.0±0.03s ? ?/sec
insert::random::10_lorem 1.00 133.8±2.78ms ? ?/sec 1.90 254.6±3.95ms ? ?/sec
insert::random::1_lorem 1.00 6.7±0.16ms ? ?/sec 1.01 6.8±0.14ms ? ?/sec
insert::random::50_lorem 1.00 709.0±7.70ms ? ?/sec 5.97 4.2±0.03s ? ?/sec
search::back_long 1.00 4.3±0.15ms ? ?/sec 3.02 13.0±0.49ms ? ?/sec
search::back_short 1.01 4.3±0.14ms ? ?/sec 1.00 4.2±0.10ms ? ?/sec
search::forward_long 1.00 4.4±0.14ms ? ?/sec 2.37 10.5±0.29ms ? ?/sec
search::forward_short 1.02 4.2±0.14ms ? ?/sec 1.00 4.1±0.10ms ? ?/sec
```
2022-07-17 15:27:17 +09:00
rhysd
ee4162c451
explicitly use subslice of lines
...
this improved performance by 2~5%
```
insert::append::1_lorem time: [7.0412 ms 7.0825 ms 7.1268 ms]
change: [-8.5796% -7.8935% -7.1723%] (p = 0.00 < 0.05)
Performance has improved.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severe
Benchmarking insert::append::10_lorem: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 33.6s, or reduce sample count to 10.
insert::append::10_lorem
time: [328.15 ms 329.60 ms 331.12 ms]
change: [-9.6975% -9.1606% -8.6231%] (p = 0.00 < 0.05)
Performance has improved.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
Benchmarking insert::append::50_lorem: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 321.1s, or reduce sample count to 10.
insert::append::50_lorem
time: [3.1633 s 3.1727 s 3.1826 s]
change: [-7.3473% -7.0339% -6.6629%] (p = 0.00 < 0.05)
Performance has improved.
```
2022-07-17 12:09:08 +09:00
rhysd
40e4bfbe15
render only displayed lines in Paragraph
...
by handling vertical scroll by ourselves
2022-07-17 09:23:47 +09:00
rhysd
b56f252f08
include rendering in fuzzing tests
2022-07-16 21:54:10 +09:00
rhysd
ac04feb5ea
add arbitrary crate as optional dependency
...
to avoid converting `Input` in fuzz test for making arbitrary inputs
2022-07-16 21:42:58 +09:00
rhysd
8b3b0aa34c
fix bench suite names
2022-07-16 11:18:22 +09:00
rhysd
025ce6b187
add tests for CursorMove::Forward and CursorMove::Back
2022-07-14 22:57:31 +09:00
rhysd
c1622c197d
add benchmarks to delete text
2022-07-13 21:44:37 +09:00
rhysd
59d5d473d4
reduce overhead to build textarea instance using .clone() in benchmarks
2022-07-13 09:27:59 +09:00
rhysd
421691d602
implement Clone for TextArea and its dependencies
2022-07-12 22:56:06 +09:00
rhysd
9032320a7e
add benchmark for cursor moves
2022-07-12 20:18:06 +09:00
rhysd
e8df4c4127
show 'Available on crate feature search only' on docs.rs
2022-07-12 01:02:12 +09:00
rhysd
fd174b316e
use single atomic u32 value instead of two atomic u16 values
...
to ensure load/store row and col atomically
2022-07-11 10:55:48 +09:00
rhysd
61ce49b331
separate widget implementation to src/widget.rs
2022-07-11 10:55:48 +09:00
rhysd
44bf996941
separate implementation for highlighting to src/highlight.rs
2022-07-11 03:06:43 +09:00
rhysd
876ebf96cb
separate text search implementation to src/search.rs
2022-07-11 01:50:46 +09:00
rhysd
f5e3347e4c
update changelog for v0.1.4 changes
2022-07-11 01:07:54 +09:00
rhysd
bd131d9773
bump up version to v0.1.4
2022-07-11 01:01:44 +09:00
rhysd
aaabfe1613
fix cursor position after undo delete_line_by_head
2022-07-10 22:05:08 +09:00
rhysd
db83c4d14a
add benchmark suites for text search
2022-07-10 21:54:17 +09:00
rhysd
b4ececff71
add benchmark to insert lines randomly
2022-07-09 22:11:11 +09:00
rhysd
ee72b48fea
add first benchmark
2022-07-09 18:44:00 +09:00
rhysd
2ed0df07cf
add project-local cargo aliases
2022-07-09 17:44:37 +09:00
rhysd
8ec321f9dd
fix cursor line style is not applied when cursor is at end of line
2022-07-09 12:39:55 +09:00
rhysd
ea377db4ee
prefer Into::into to From::from
2022-07-09 12:38:05 +09:00
rhysd
e11a97ce49
update changelog for v0.1.3 changes
2022-07-08 18:30:44 +09:00
rhysd
dd59e8edb4
bump up version to v0.1.3
2022-07-08 17:50:22 +09:00
rhysd
259a626c97
Merge branch 'search'
2022-07-08 17:44:38 +09:00
rhysd
fee107847e
use ↓/↑ instead of ^←/^→ to search next/previous in editor example
2022-07-08 17:40:59 +09:00
rhysd
81da9ce094
describe usage for text search in document
2022-07-08 17:40:59 +09:00
rhysd
e78171913a
fix CI failure since termion does not support Windows
2022-07-08 12:53:46 +09:00
rhysd
1db4830a3c
fix cursor position on searching backward
2022-07-08 12:50:59 +09:00
rhysd
358e9dbc52
search forward/back with ^N/^P in editor example
2022-07-08 12:43:07 +09:00