1
0
зеркало из https://github.com/glebtv/tui-textarea.git synced 2026-08-28 11:36:17 +03:00

78 Коммитов

Автор SHA1 Сообщение Дата
srothgan
ebd3af05e1 chore: refresh GitHub repository setup (#23)
* chore: refresh GitHub repository setup

* chore: align CI with Rust 1.88 MSRV
2026-07-01 04:47:43 +10:00
srothgan
9c4db800ef feat(textarea): add atomic range editing support (#19)
- add public AtomicRange API with validation and diagnostic errors
- make cursor movement, deletion, insertion, selection, undo/redo, and set_lines atom-aware
- clear caller-derived atomic ranges after successful content mutations
- add focused atomic range tests plus serde coverage
- document atomic ranges and add a caller-owned parsing example
2026-07-01 04:17:20 +10:00
srothgan
8f708cfdc7 feat: add screen/data cursor maps for wrapped movement (#17)
* feat!: remove tui-rs support and map screen cursors

* docs(examples): add fixed-size recording mode

* chore(release): bump to v0.11.0
2026-05-03 16:48:05 +10:00
srothgan
1a64a949b6 Feat/textarea row measurement min max (#14)
* feat(textarea): add row measurement API with configurable min/max bounds

- add TextAreaMeasure and TextArea::measure(width_cols)
- make measurement wrap-aware and include block chrome rows
- add set_min_rows/set_max_rows (+ getters) with invariant normalization
- clamp preferred_rows to effective [min_rows, max_rows]
- export TextAreaMeasure at crate root
- switch examples/variable.rs to measured preferred_rows
- add integration tests for measure + min/max behavior

* chore(release): bump to v0.10.0 and update changelog
2026-02-26 01:00:26 +10:00
srothgan
56f531a73f chore: migrate to Rust 2024 edition and bump to v0.9.2 (#12)
* chore: migrate to Rust 2024 edition and bump to v0.9.2

- Bump edition to 2024 and rust-version to 1.85.0
- Replace f64::log10 with usize::ilog10 in num_digits
- Fix clippy lints surfaced by edition bump: repeat_n, derived Default, then_some
- Expand watch-check and watch-test aliases to cover all feature paths (crossterm_0_28, no-backend, tuirs variants, serde, arbitrary)
- Expand CI test and clippy workflows to full 6/8-entry feature matrices including termion on Ubuntu
- Apply rustfmt import reordering from edition 2024 rules

* fix: revert turis linux checks
2026-02-20 03:38:50 +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
rhysd
ad518def02 prefer eliding lifetimes 2024-12-01 15:12:50 +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
9650a1171a fix warnings and compile errors due to ratatui v0.28 update 2024-08-08 00:12:17 +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
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
Franco Morroni
842df5e1b6 chore: add block border color so example matches readme gif 2024-08-02 01:08:35 -03:00
rhysd
60943f8b14 fix vim example's text selection should be inclusive in visual mode
Vim's text selection is inclusive. For example, when a cursor is on 'r'
of 'bar', 'r' is included in the selection. However tui-textarea's text
selection is exclusive on the end of the range. Move cursor forward to
emulate Vim's behavior better.
2024-08-02 00:12:08 +09:00
rhysd
76f1ab6b5a fix vim example's e mapping in operator-pending mode (fix #76) 2024-08-01 23:55:35 +09:00
achristmascarl
d016971a5f update tests, examples, readme 2024-07-30 15:09:03 -04:00
rhysd
552e36d963 fix clippy warnings in examples 2024-07-07 23:32:53 +09:00
rhysd
306a976fc9 update block and style only when mode changed in vim example 2023-11-18 14:50:13 +09:00
rhysd
9f206200e5 refactor Vim emulation as state machine 2023-11-17 23:23:55 +09:00
rhysd
7c66f3ad5a make operator-pending mode variant of Mode 2023-11-17 21:22:36 +09:00
rhysd
ad8ad19e83 implement visual mode for vim example 2023-11-16 18:15:56 +09:00
rhysd
409185f653 rename modal example to vim
since operator-pending mode is Vim-specific
2023-11-16 15:59:06 +09:00
rhysd
b2cee69cdd implement operator pending mode and gg in modal example 2023-11-16 15:46:48 +09:00
rhysd
a54ce36d22 refactor text selection and add more tests (fix #6) 2023-11-12 18:22:17 +09:00
pm100
5a2649abe9 implement select (#45)
* select, second go using new multiline code

* implemented internal delete_str, added tests

* delete_str_internal must not put non deleted strings into history. Ie ctrlc should not change history

* delete_str was taking lines out in the non delete case

* corrected comment

* fixes after feedback. Plus multichar bugs. change modal sample
2023-11-10 21:10:04 +09:00
rhysd
9ec2f32edf fix disabling/enabling raw mode in editor example (fix #44) 2023-11-06 19:21:31 +09:00
rhysd
6982f2d1e6 fix crash in split example 2023-10-24 17:18:27 +09:00
rhysd
9882974669 remove tuirs_popup_placeholder example 2023-10-24 16:00:21 +09:00
rhysd
330b7074ae fix examples to invert ratatui and tui-rs 2023-10-24 13:15:16 +09:00
rhysd
4bdf55a1f6 remove unnecessary tick handling in termwiz example 2023-10-21 10:43:25 +09:00
rhysd
257c8bcbf0 add example for usage with termwiz crate 2023-10-21 02:41:50 +09:00
rhysd
d9dd1a168c refactor password example and the example screencast in readme 2023-10-20 22:02:04 +09:00
paul moore
45445e0554 change 'password' to more generic 'mask'. Fix tab behavior 2023-10-15 09:55:16 -07:00
paul moore
84985fa04c password - second go 2023-10-13 17:37:37 -07:00
rhysd
92c107c939 rename set_placeholder to set_placeholder_text and add more APIs 2023-10-01 23:17:32 +09:00
rhysd
2031e5b20c allow any string types for setting placeholder text 2023-10-01 22:47:54 +09:00
rhysd
c84c0ebe55 rename placepop example to more obvious popup_placeholder 2023-10-01 22:28:14 +09:00
rhysd
c03b453f99 fix compilation error of placepop example and add it to examples doc 2023-10-01 22:23:18 +09:00
Linda_pp
98a60e9138 Merge pull request #16 from pm100/ghost
placeholder feature
2023-10-01 22:12:25 +09:00
rhysd
652b449526 fix compilation errors and warnings in examples 2023-10-01 20:46:10 +09:00
rhysd
30e651de77 update ratatui from 0.20 to 0.23 and crossterm for ratatui to 0.27 2023-10-01 20:31:09 +09:00
pm100
bfd5527efe placeholder feature 2023-04-29 18:17:39 +02:00
rhysd
526f5cc334 separate examples for ratatui 2023-04-13 22:21:03 +09:00
rhysd
9428172a1d support ratatui crate by editor and termion example 2023-04-13 22:05:25 +09:00
rhysd
dbe03202a8 add ratatui crate support 2023-04-13 21:51:27 +09:00
rhysd
c5138aabf2 simplify UI structure of modal example 2022-10-21 23:47:53 +09:00
rhysd
8c0a76b052 add simple modal text editor example 2022-10-20 08:39:19 +09:00
rhysd
b54fe5c01d implement vertial mouse scroll with both crossterm and termion supports 2022-07-23 20:09:26 +09:00
rhysd
ea377db4ee prefer Into::into to From::from 2022-07-09 12:38:05 +09:00
rhysd
fee107847e use ↓/↑ instead of ^←/^→ to search next/previous in editor example 2022-07-08 17:40:59 +09:00