srothgan
f03a7b9ec1
fix(textarea): clamp undo/redo cursor after oversized delete_str ( #9 )
2026-02-19 07:37:00 +10:00
srothgan
1740facd24
feat: add unicode-aware soft-wrap modes and wrapped rendering ( #8 )
...
* feat(textarea): add unicode-aware soft-wrap modes and wrapped rendering
- add WrapMode API/state: None, Word, Glyph, WordOrGlyph
- keep None behavior unchanged (horizontal scroll)
- implement wrapped render path with logical-to-visual row mapping
- add Unicode-aware wrapping via unicode-segmentation + unicode-width
- make wrap width tab-aware to prevent hidden text
- apply cursor-line style on wrapped continuation rows
- fix selection at soft-wrap boundaries (no synthetic highlighted space)
- add wrap-focused tests for long text, newlines, tabs, tiny widths, and line-number
continuations
* chore(release): bump to v0.9.0 and update README/CHANGELOG
2026-02-19 03:26:48 +10:00
srothgan
cc783097ae
docs(readme): replace CI badge with Rust Test and Rust Clippy badges ( #7 )
2026-02-19 00:22:51 +10:00
srothgan
1395c65183
chore/refactor-ci-workflows ( #6 )
...
* ci(workflows): split CI into focused workflows and add Codecov upload
* ci(coverage): upload to codecov for same-repo PRs and main pushes
* fix(ci): upload coverage to codecov only on main pushes
2026-02-19 00:14:17 +10:00
srothgan
43afdc5ce1
chore/integrate-open-prs ( #5 )
...
* docs: integrate upstream PR #116
* feat: integrate upstream PR #113
* chore: add portable-atomic for viewport atomics (upstream PR #111 )
* fix(examples): integrate upstream PR #100
* fix(word): integrate upstream PR #98
* fix(widget): handle wide unicode char widths in horizontal scroll (upstream PR #94 )
* feat(highlight): integrate upstream PR #93
* chore(release): prepare v0.8.0 docs and CI-clean merged upstream updates
* docs(license): rename LICENSE.txt to LICENSE and fix header capitalization
2026-02-18 23:34:50 +10:00
srothgan
b82ae1a9d6
ci(release): use single auto release workflow on main ( #4 )
2026-02-18 22:11:52 +10:00
srothgan
b361f74b06
chore: rename crate to tui-textarea-2 and update metadata/docs links ( #2 )
...
* chore: rename crate to tui-textarea-2 and update metadata/docs links
* chore: prepare v0.7.1 publish for tui-textarea-2
* ci(release): automate publish, tag, and release after merge to main
2026-02-18 21:39:59 +10:00
srothgan
4689076df5
chore: ratatui 0.30 maintenance + collaboration baseline ( #1 )
2026-02-18 11:46:03 +01:00
rhysd
4d18622eea
do not use RUSTDOCFLAGS environment variable for checking document generation
...
because it is used by all the dependencies and some package will break
due to the flags in the variable.
2024-12-01 18:15:58 +09:00
rhysd
ad518def02
prefer eliding lifetimes
2024-12-01 15:12:50 +09:00
rhysd
7f2722256d
update changelog for v0.7.0 changes
2024-10-23 01:28:45 +09:00
rhysd
f2de5ff1ef
bump up version to v0.7.0
2024-10-23 01:24:26 +09:00
rhysd
e56b6e0da4
update fuzz deps and fix warnings in fuzz targets
2024-10-23 01:20:27 +09:00
Alessandro Ricottone
413c4f62da
Update Ratatui to 0.29.0 ( #86 )
...
Co-authored-by: Josh McKinney <joshka@users.noreply.github.com >
2024-10-23 01:08:06 +09:00
rhysd
2cae64bae6
do not depend on implicit features
...
since it is warned on building this crate in Rust 2024
2024-08-15 12:35:11 +09:00
rhysd
b8491704bc
improve description of feature gates in readme document
2024-08-12 22:29:08 +09:00
rhysd
d4342dceef
update changelog for v0.6.1 changes
2024-08-09 01:04:23 +09:00
rhysd
a0b820cf7d
bump up version to v0.6.1
2024-08-09 00:44:22 +09:00
rhysd
49c90f0983
fix tests for termion support when using old version of termion
2024-08-08 23:55:25 +09:00
rhysd
3fb0a78a4c
use the same version of termion as tui's dependency for tuirs-termion feature
2024-08-08 23:04:13 +09:00
rhysd
8d2c201aff
add tests for TextArea::selection_range
2024-08-08 22:40:15 +09:00
rhysd
de736a584f
make the first element of range is smaller than the second one ( #81 )
2024-08-08 20:55:35 +09:00
Linda_pp
b7a7e3dc34
Merge pull request #81 from achristmascarl/expose-selection-start
...
Expose `selection_start`
2024-08-08 09:25:35 +09:00
achristmascarl
75f51111e1
switch to selection range
2024-08-07 16:34:13 -04:00
rhysd
93cfabdc69
update changelog for v0.6.0 changes
2024-08-08 00:34:30 +09:00
rhysd
7a8c020d4e
bump up version to v0.6.0
2024-08-08 00:26:11 +09:00
rhysd
9b86d54a67
fix fuzzing test cases to follow ratatui v0.28
2024-08-08 00:25:28 +09:00
rhysd
abc2b7d4e2
fix deprecated node version warning from codecov/codecov-action@v3
2024-08-08 00:14:57 +09:00
rhysd
9650a1171a
fix warnings and compile errors due to ratatui v0.28 update
2024-08-08 00:12:17 +09:00
rhysd
5d77bf8a9a
update ratatui dependency from 0.27 to 0.28
2024-08-07 23:55:24 +09:00
achristmascarl
31012c6a01
fix tests
2024-08-06 12:45:18 -04:00
achristmascarl
23dfde75bd
expose selection_start
2024-08-06 12:33:10 -04:00
rhysd
150ee9d360
add more tests for search feature
2024-08-05 00:02:11 +09:00
rhysd
474b5f372a
add tests for search feature
2024-08-04 23:36:33 +09:00
rhysd
1a639ed931
update changelog for v0.5.3 changes
2024-08-03 23:55:53 +09:00
rhysd
e0c07375a8
bump up version to v0.5.3
2024-08-03 23:53:03 +09:00
rhysd
3a9d1430d4
caveat on conversion from termion's key event into Input ( #68 )
2024-08-03 23:48:30 +09:00
rhysd
9087e75c1f
fix e behavior in operator-pending mode of vim example
...
`e`'s behavior is actually not same as `w`. For example, let's say we
have the following text and the cursor is on 'f'.
```
foo bar
```
Then `de` deletes the text 'foo' but `dw` deletes the text 'foo '
including the trailing space.
2024-08-03 23:08:58 +09:00
rhysd
6f5ca389ff
support 'Ctrl + Home' and 'Ctrl + End' for termion backend
2024-08-03 08:47:03 +09:00
rhysd
3937eca234
refactor converting termion key event into Input
2024-08-03 08:44:04 +09:00
rhysd
0e32eed5dd
support shift/ctrl/alt + arrow keys combinations added at termion v4
...
fix #68
termion added the support at this commit:
3b52dc9bfb
2024-08-03 08:02:03 +09:00
rhysd
e5500dfa61
fix typos
2024-08-02 23:07:17 +09:00
rhysd
ef28d09ae8
Merge branch 'fix-lnum-horizontal-scroll' ( fix #77 )
2024-08-02 22:54:09 +09:00
rhysd
59ab95cc76
remove redundant clone() call with ratatui
2024-08-02 22:45:38 +09:00
rhysd
4e1adc66a9
smoothly slide the line number part into screen on scrolling left
2024-08-02 22:25:36 +09:00
rhysd
871577a20b
shift cursor position by line number width on horizontal scroll
2024-08-02 21:23:04 +09:00
rhysd
19c32cefc5
fix trying to render &&TextArea in editor examples
2024-08-02 16:43:27 +09:00
rhysd
c99108bf45
directly implement Widget for &TextArea ( fix #78 )
2024-08-02 16:31:21 +09:00
Linda_pp
dea5b03335
Merge pull request #79 from fmorroni/single_line-example-fix
...
Add block border color to single_line example so it matches readme gif
2024-08-02 16:31:13 +09:00
Franco Morroni
842df5e1b6
chore: add block border color so example matches readme gif
2024-08-02 01:08:35 -03:00