ratatui_ruby 1.0.0.pre.beta.3 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.builds/ruby-3.2.yml +1 -1
- data/.builds/ruby-3.3.yml +1 -1
- data/.builds/ruby-3.4.yml +1 -1
- data/.builds/ruby-4.0.0.yml +1 -1
- data/CHANGELOG.md +5 -22
- data/README.md +1 -4
- data/README.rdoc +1 -1
- data/ext/ratatui_ruby/Cargo.lock +1 -1
- data/ext/ratatui_ruby/Cargo.toml +1 -1
- data/lib/ratatui_ruby/event/key/navigation.rb +6 -0
- data/lib/ratatui_ruby/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c8ee9b7928a67c0f332a1fdfd2870972ba9f37c6219879d427a5225f71a24b54
|
|
4
|
+
data.tar.gz: 42ef63b4ca0dafb3220034af83a1d5d0acab49123378e0c5909b21c9baf60f52
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 68ec1dcf33fa00b9bb53852d5cc4c92c680f10924b13594854c34bc3e597db6214603c1513427cad35e31895d08cc7dd59e2ac1166dcd44f525043588b23407d
|
|
7
|
+
data.tar.gz: c9cfbe2d111ca45cfe003fc28dea7d23f12dac8c14424701a8532d964d905e80d2fbdd2fdb2a749a291a23ef4e168e2ab0fac14c55ef874b5e1b357d75f4b66f
|
data/.builds/ruby-3.2.yml
CHANGED
data/.builds/ruby-3.3.yml
CHANGED
data/.builds/ruby-3.4.yml
CHANGED
data/.builds/ruby-4.0.0.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -18,40 +18,22 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
|
|
|
18
18
|
|
|
19
19
|
### Removed
|
|
20
20
|
|
|
21
|
-
## [1.0.0
|
|
21
|
+
## [1.0.0] - 2026-01-25
|
|
22
|
+
This release is functionally equivalent to v0.10.3, with additional bug fixes.
|
|
23
|
+
The version bump signals the beginning of the 1.0 release series.
|
|
22
24
|
|
|
23
25
|
### Added
|
|
24
26
|
|
|
25
27
|
### Changed
|
|
26
28
|
|
|
27
29
|
### Fixed
|
|
28
|
-
|
|
29
|
-
- **Terminal Queries During Draw (Deadlock)**: Calling `viewport_area`, `terminal_size`, `get_cell_at`, `poll_event`, `get_cursor_position`, or `get_viewport_type` from inside a `draw()` block previously caused the application to freeze forever. The thread blocked on a Mutex. Ruby's `Timeout` could not interrupt it. The only recovery was `kill -9`. These reads now work via a snapshot captured before rendering.
|
|
30
|
-
- **Terminal Mutations During Draw (Deadlock)**: Calling `insert_before`, `set_cursor_position`, or `resize_terminal` from inside a `draw()` block previously caused the same silent freeze. These writes now raise `Error::Invariant` with a clear message.
|
|
31
|
-
- **Nested Draw Calls (Deadlock)**: Calling `draw()` from inside another `draw()` block previously froze the application. Nested draws now raise `Error::Invariant`.
|
|
32
|
-
- **Event Injection During Draw (Deadlock)**: Calling `inject_test_event` from inside a `draw()` block previously froze the application. Event injection now works correctly during draw.
|
|
33
|
-
|
|
34
|
-
### Removed
|
|
35
|
-
|
|
36
|
-
## [1.0.0-beta.2] - 2026-01-20
|
|
37
|
-
|
|
38
|
-
### Added
|
|
39
|
-
|
|
40
|
-
### Changed
|
|
41
|
-
|
|
42
|
-
### Fixed
|
|
43
|
-
|
|
30
|
+
- **back_tab? DWIM**: `back_tab?` and `backtab?` predicates now match events with code "back_tab" regardless of whether the shift modifier is explicitly present, since back_tab semantically implies shift.
|
|
44
31
|
- **Terminal Queries During Draw (Deadlock)**: Calling `viewport_area`, `terminal_size`, `get_cell_at`, `poll_event`, `get_cursor_position`, or `get_viewport_type` from inside a `draw()` block previously caused the application to freeze forever. The thread blocked on a Mutex. Ruby's `Timeout` could not interrupt it. The only recovery was `kill -9`. These reads now work via a snapshot captured before rendering.
|
|
45
32
|
- **Terminal Mutations During Draw (Deadlock)**: Calling `insert_before`, `set_cursor_position`, or `resize_terminal` from inside a `draw()` block previously caused the same silent freeze. These writes now raise `Error::Invariant` with a clear message.
|
|
46
33
|
- **Nested Draw Calls (Deadlock)**: Calling `draw()` from inside another `draw()` block previously froze the application. Nested draws now raise `Error::Invariant`.
|
|
47
34
|
- **Event Injection During Draw (Deadlock)**: Calling `inject_test_event` from inside a `draw()` block previously froze the application. Event injection now works correctly during draw.
|
|
48
35
|
- **TableState Row Navigation Methods**: Added missing row navigation methods (`select_next`, `select_previous`, `select_first`, `select_last`) that should have been included alongside the column navigation methods added in v0.10.0. These methods match `ListState`'s navigation API and are used in the `app_stateful_interaction` example.
|
|
49
36
|
|
|
50
|
-
### Removed
|
|
51
|
-
|
|
52
|
-
## [1.0.0-beta.1] - 2026-01-20
|
|
53
|
-
This release is functionally equivalent to v0.10.3. The version bump signals the beginning of the 1.0 release series.
|
|
54
|
-
|
|
55
37
|
## [0.10.3] - 2026-01-16
|
|
56
38
|
|
|
57
39
|
### Added
|
|
@@ -701,6 +683,7 @@ This release is functionally equivalent to v0.10.3. The version bump signals the
|
|
|
701
683
|
- **Testing Support**: Included `RatatuiRuby::TestHelper` and RSpec integration to make testing your TUI applications possible.
|
|
702
684
|
|
|
703
685
|
[Unreleased]: https://git.sr.ht/~kerrick/ratatui_ruby/refs/HEAD
|
|
686
|
+
[1.0.0]: https://git.sr.ht/~kerrick/ratatui_ruby/refs/v1.0.0
|
|
704
687
|
[1.0.0-beta.3]: https://git.sr.ht/~kerrick/ratatui_ruby/refs/v1.0.0-beta.3
|
|
705
688
|
[1.0.0-beta.2]: https://git.sr.ht/~kerrick/ratatui_ruby/refs/v1.0.0-beta.2
|
|
706
689
|
[1.0.0-beta.1]: https://git.sr.ht/~kerrick/ratatui_ruby/refs/v1.0.0-beta.1
|
data/README.md
CHANGED
|
@@ -20,9 +20,6 @@ Mailing List: Announcements](https://img.shields.io/badge/mailing_list-announcem
|
|
|
20
20
|
**ratatui_ruby** is a Ruby wrapper for [Ratatui](https://ratatui.rs). It allows you to cook up Terminal User Interfaces in Ruby.
|
|
21
21
|
**ratatui_ruby** is a community wrapper that is not affiliated with [the Ratatui team](https://github.com/orgs/ratatui/people).
|
|
22
22
|
|
|
23
|
-
> [!WARNING]
|
|
24
|
-
> **ratatui_ruby** is currently in **BETA**. Please report any bugs you find!
|
|
25
|
-
|
|
26
23
|
**[Why RatatuiRuby?](./doc/getting_started/why.md)** — Native Rust performance, zero runtime overhead, and Ruby's expressiveness. [See how we compare](./doc/getting_started/why.md) to CharmRuby, raw Rust, and Go.
|
|
27
24
|
|
|
28
25
|
Please join the **announce** mailing list at https://lists.sr.ht/~kerrick/ratatui_ruby-announce to stay up-to-date on new releases and announcements. See the [`trunk` branch](https://git.sr.ht/~kerrick/ratatui_ruby/tree/trunk) for pre-release updates.
|
|
@@ -91,7 +88,7 @@ Or install it yourself with:
|
|
|
91
88
|
SPDX-License-Identifier: MIT-0
|
|
92
89
|
-->
|
|
93
90
|
```bash
|
|
94
|
-
gem install ratatui_ruby
|
|
91
|
+
gem install ratatui_ruby
|
|
95
92
|
```
|
|
96
93
|
<!-- SPDX-SnippetEnd -->
|
|
97
94
|
|
data/README.rdoc
CHANGED
|
@@ -5,7 +5,7 @@ RatatuiRuby[https://rubygems.org/gems/ratatui_ruby] is a RubyGem built on
|
|
|
5
5
|
Ratatui[https://ratatui.rs], a leading TUI library written in
|
|
6
6
|
Rust[https://rust-lang.org]. You get native performance with the joy of Ruby.
|
|
7
7
|
|
|
8
|
-
gem install ratatui_ruby
|
|
8
|
+
gem install ratatui_ruby
|
|
9
9
|
|
|
10
10
|
{rdoc-image:https://ratatui-ruby.dev/hero.gif}[https://www.ratatui-ruby.dev/docs/v0.10/examples/app_cli_rich_moments/README_md.html]
|
|
11
11
|
|
data/ext/ratatui_ruby/Cargo.lock
CHANGED
data/ext/ratatui_ruby/Cargo.toml
CHANGED
|
@@ -28,6 +28,12 @@ module RatatuiRuby
|
|
|
28
28
|
|
|
29
29
|
# Handles navigation-specific DWIM logic for method_missing.
|
|
30
30
|
private def match_navigation_dwim?(key_name, key_sym)
|
|
31
|
+
# DWIM: back_tab?/backtab? matches back_tab code even with shift modifier
|
|
32
|
+
# (since back_tab semantically implies shift)
|
|
33
|
+
if (key_name == "back_tab" || key_name == "backtab") && @code == "back_tab" && (@modifiers.empty? || @modifiers == ["shift"])
|
|
34
|
+
return true
|
|
35
|
+
end
|
|
36
|
+
|
|
31
37
|
# DWIM: reverse_tab? matches both BackTab key and Shift+Tab combo
|
|
32
38
|
if key_name == "reverse_tab"
|
|
33
39
|
return true if @code == "back_tab"
|
data/lib/ratatui_ruby/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ratatui_ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.0
|
|
4
|
+
version: 1.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kerrick Long
|
|
@@ -101,7 +101,7 @@ description: |2-
|
|
|
101
101
|
Ratatui[https://ratatui.rs], a leading TUI library written in
|
|
102
102
|
Rust[https://rust-lang.org]. You get native performance with the joy of Ruby.
|
|
103
103
|
|
|
104
|
-
gem install ratatui_ruby
|
|
104
|
+
gem install ratatui_ruby
|
|
105
105
|
|
|
106
106
|
{rdoc-image:https://ratatui-ruby.dev/hero.gif}[https://www.ratatui-ruby.dev/docs/v0.10/examples/app_cli_rich_moments/README_md.html]
|
|
107
107
|
|