ratatui_ruby 1.4.1-arm64-darwin-24 → 1.4.2-arm64-darwin-24

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.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/ext/ratatui_ruby/Cargo.lock +6 -13
  3. data/ext/ratatui_ruby/Cargo.toml +1 -2
  4. data/ext/ratatui_ruby/src/color.rs +1 -1
  5. data/ext/ratatui_ruby/src/errors.rs +1 -1
  6. data/ext/ratatui_ruby/src/events.rs +1 -1
  7. data/ext/ratatui_ruby/src/frame.rs +1 -1
  8. data/ext/ratatui_ruby/src/lib.rs +1 -1
  9. data/ext/ratatui_ruby/src/lib_header.rs +1 -1
  10. data/ext/ratatui_ruby/src/rendering.rs +1 -1
  11. data/ext/ratatui_ruby/src/string_width.rs +7 -82
  12. data/ext/ratatui_ruby/src/style.rs +1 -1
  13. data/ext/ratatui_ruby/src/terminal/capabilities.rs +1 -1
  14. data/ext/ratatui_ruby/src/terminal/init.rs +1 -1
  15. data/ext/ratatui_ruby/src/terminal/mod.rs +1 -1
  16. data/ext/ratatui_ruby/src/terminal/mutations.rs +1 -1
  17. data/ext/ratatui_ruby/src/terminal/queries.rs +20 -2
  18. data/ext/ratatui_ruby/src/terminal/query.rs +1 -1
  19. data/ext/ratatui_ruby/src/terminal/storage.rs +1 -1
  20. data/ext/ratatui_ruby/src/terminal/wrapper.rs +1 -1
  21. data/ext/ratatui_ruby/src/text.rs +1 -1
  22. data/ext/ratatui_ruby/src/widgets/barchart.rs +1 -1
  23. data/ext/ratatui_ruby/src/widgets/block.rs +1 -1
  24. data/ext/ratatui_ruby/src/widgets/calendar.rs +1 -1
  25. data/ext/ratatui_ruby/src/widgets/canvas.rs +1 -1
  26. data/ext/ratatui_ruby/src/widgets/center.rs +1 -1
  27. data/ext/ratatui_ruby/src/widgets/chart.rs +1 -1
  28. data/ext/ratatui_ruby/src/widgets/clear.rs +1 -1
  29. data/ext/ratatui_ruby/src/widgets/cursor.rs +1 -1
  30. data/ext/ratatui_ruby/src/widgets/gauge.rs +1 -1
  31. data/ext/ratatui_ruby/src/widgets/layout.rs +1 -1
  32. data/ext/ratatui_ruby/src/widgets/line_gauge.rs +1 -1
  33. data/ext/ratatui_ruby/src/widgets/list.rs +1 -1
  34. data/ext/ratatui_ruby/src/widgets/list_state.rs +1 -1
  35. data/ext/ratatui_ruby/src/widgets/mod.rs +1 -1
  36. data/ext/ratatui_ruby/src/widgets/overlay.rs +1 -1
  37. data/ext/ratatui_ruby/src/widgets/paragraph.rs +1 -1
  38. data/ext/ratatui_ruby/src/widgets/ratatui_logo.rs +1 -1
  39. data/ext/ratatui_ruby/src/widgets/ratatui_mascot.rs +1 -1
  40. data/ext/ratatui_ruby/src/widgets/scrollbar.rs +1 -1
  41. data/ext/ratatui_ruby/src/widgets/scrollbar_state.rs +1 -1
  42. data/ext/ratatui_ruby/src/widgets/sparkline.rs +1 -1
  43. data/ext/ratatui_ruby/src/widgets/table.rs +1 -1
  44. data/ext/ratatui_ruby/src/widgets/table_state.rs +1 -1
  45. data/ext/ratatui_ruby/src/widgets/tabs.rs +1 -1
  46. data/lib/ratatui_ruby/3.2/ratatui_ruby.bundle +0 -0
  47. data/lib/ratatui_ruby/3.3/ratatui_ruby.bundle +0 -0
  48. data/lib/ratatui_ruby/3.4/ratatui_ruby.bundle +0 -0
  49. data/lib/ratatui_ruby/4.0/ratatui_ruby.bundle +0 -0
  50. data/lib/ratatui_ruby/version.rb +1 -1
  51. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 25d84e8f50fe4eee43fc8518b9e8b9d646da9fe3907794436b033ed3b3eb3f52
4
- data.tar.gz: 9cb714859a96b44ee726a7f62501c3f5a3242cd0d20658af9cc94ebcb57ebfe7
3
+ metadata.gz: a452fa16dc591f2aaad8f2a52b387f7b2dd3b13b5a5296b0f3e0f35a1a93ed3f
4
+ data.tar.gz: 8e1411a2f0aee0158317e94c7ff8eefe91773cc3c00273f8285f71ba93764c69
5
5
  SHA512:
6
- metadata.gz: b73bd66e9717798805e5c228365e80e1134cac918f96ca8ca83188f3c99dc089da63a5288bda6e48d0d60b7192ffaeec1f62c1705a05063ae6e7b3b5d6faef43
7
- data.tar.gz: 80da241d9351bca0b205fc15e745c041d68128bcddf83d44b9cdffd3cc8a3785bc62e1e1191b40cf9092dcaf2dcca810bd4b9ff3f53dbebdf195fa6c9293076f
6
+ metadata.gz: 582e7c111172d1f6cb0fcae59a363f4f8644e4d3213a897b6a960f5091b61973ee2650670a19e7522a7b2969d328b8b61b319b11e6afd12b802d3867e26d4d3c
7
+ data.tar.gz: 3a5c4e4aacb56531401a5dd6f28afac5e395570fc1f0cdd9c320f970d4f7ee81150318ae82e959a2b69f3319e8144ac7af51748fed61032f02d49499caf18835
@@ -1003,7 +1003,7 @@ dependencies = [
1003
1003
  "thiserror 2.0.17",
1004
1004
  "unicode-segmentation",
1005
1005
  "unicode-truncate",
1006
- "unicode-width 0.2.0",
1006
+ "unicode-width",
1007
1007
  ]
1008
1008
 
1009
1009
  [[package]]
@@ -1054,12 +1054,12 @@ dependencies = [
1054
1054
  "strum",
1055
1055
  "time",
1056
1056
  "unicode-segmentation",
1057
- "unicode-width 0.2.0",
1057
+ "unicode-width",
1058
1058
  ]
1059
1059
 
1060
1060
  [[package]]
1061
1061
  name = "ratatui_ruby"
1062
- version = "1.4.1"
1062
+ version = "1.4.2"
1063
1063
  dependencies = [
1064
1064
  "bumpalo",
1065
1065
  "lazy_static",
@@ -1067,7 +1067,6 @@ dependencies = [
1067
1067
  "ratatui",
1068
1068
  "rb-sys",
1069
1069
  "time",
1070
- "unicode-width 0.1.14",
1071
1070
  ]
1072
1071
 
1073
1072
  [[package]]
@@ -1513,20 +1512,14 @@ checksum = "8fbf03860ff438702f3910ca5f28f8dac63c1c11e7efb5012b8b175493606330"
1513
1512
  dependencies = [
1514
1513
  "itertools 0.13.0",
1515
1514
  "unicode-segmentation",
1516
- "unicode-width 0.2.0",
1515
+ "unicode-width",
1517
1516
  ]
1518
1517
 
1519
1518
  [[package]]
1520
1519
  name = "unicode-width"
1521
- version = "0.1.14"
1522
- source = "registry+https://github.com/rust-lang/crates.io-index"
1523
- checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
1524
-
1525
- [[package]]
1526
- name = "unicode-width"
1527
- version = "0.2.0"
1520
+ version = "0.2.2"
1528
1521
  source = "registry+https://github.com/rust-lang/crates.io-index"
1529
- checksum = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd"
1522
+ checksum = "b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254"
1530
1523
 
1531
1524
  [[package]]
1532
1525
  name = "utf8parse"
@@ -3,7 +3,7 @@
3
3
 
4
4
  [package]
5
5
  name = "ratatui_ruby"
6
- version = "1.4.1"
6
+ version = "1.4.2"
7
7
  edition = "2021"
8
8
 
9
9
  [lib]
@@ -13,7 +13,6 @@ crate-type = ["cdylib", "staticlib"]
13
13
  magnus = "0.8.2"
14
14
  rb-sys = "*"
15
15
  ratatui = { version = "0.30", features = ["widget-calendar", "layout-cache", "unstable-rendered-line-info", "palette"] }
16
- unicode-width = "0.1"
17
16
 
18
17
  bumpalo = "3.16"
19
18
  lazy_static = "1.4"
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2026 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  //! Color conversion functions exposed to Ruby.
5
5
  //!
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2026 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use magnus::{prelude::*, Error, Value};
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use magnus::{Error, IntoValue, TryConvert, Value};
5
5
  use rb_sys::rb_thread_call_without_gvl;
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  //! Frame wrapper for exposing Ratatui's Frame to Ruby.
5
5
  //!
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  // Require SAFETY comments on all unsafe blocks
5
5
  #![warn(clippy::undocumented_unsafe_blocks)]
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  // Require SAFETY comments on all unsafe blocks
5
5
  #![warn(clippy::undocumented_unsafe_blocks)]
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::style::{parse_color_value, parse_modifier_str, parse_style};
5
5
  use crate::widgets;
@@ -1,17 +1,14 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use magnus::{prelude::*, Error, Value};
5
+ use ratatui::text::Text;
5
6
 
6
7
  /// Calculate the display width of a string in terminal cells.
7
8
  ///
8
- /// Handles unicode correctly, including:
9
- /// - Regular ASCII characters: 1 cell each
10
- /// - CJK characters: 2 cells each (full-width)
11
- /// - Emoji: typically 2 cells each (varies by terminal)
12
- /// - Combining marks and zero-width characters: 0 cells
13
- ///
14
- /// This uses the same `unicode-width` crate that Ratatui uses internally.
9
+ /// Delegates to Ratatui's own `Text::width()`, which uses `unicode-width`
10
+ /// internally. This guarantees the width we report to Ruby matches the
11
+ /// width Ratatui uses when laying out widgets like Table highlight symbols.
15
12
  ///
16
13
  /// Returns the total display width in cells (not bytes or characters).
17
14
  pub fn text_width(string: Value) -> Result<usize, Error> {
@@ -24,78 +21,6 @@ pub fn text_width(string: Value) -> Result<usize, Error> {
24
21
  )
25
22
  })?;
26
23
 
27
- // Use unicode_width's width calculation.
28
- // This is the same mechanism Ratatui uses internally for Paragraph.line_width().
29
- let width = s
30
- .chars()
31
- .map(|c| unicode_width::UnicodeWidthChar::width(c).unwrap_or(0))
32
- .sum();
33
-
34
- Ok(width)
35
- }
36
-
37
- #[cfg(test)]
38
- mod tests {
39
- use unicode_width::UnicodeWidthChar;
40
-
41
- fn measure_width(s: &str) -> usize {
42
- s.chars()
43
- .map(|c| UnicodeWidthChar::width(c).unwrap_or(0))
44
- .sum()
45
- }
46
-
47
- #[test]
48
- fn test_ascii_width() {
49
- // ASCII is 1 cell per character
50
- assert_eq!(measure_width("hello"), 5);
51
- assert_eq!(measure_width("Hello, World!"), 13);
52
- }
53
-
54
- #[test]
55
- fn test_emoji_width() {
56
- // Emoji typically take 2 cells
57
- // 👍 is U+1F44D THUMBS UP SIGN, width 2
58
- assert_eq!(measure_width("👍"), 2);
59
- // 🌍 is U+1F30D EARTH GLOBE EUROPE-AFRICA, width 2
60
- assert_eq!(measure_width("🌍"), 2);
61
- // "Hello 👍" = 5 + 1 + 2 = 8
62
- assert_eq!(measure_width("Hello 👍"), 8);
63
- }
64
-
65
- #[test]
66
- fn test_cjk_width() {
67
- // CJK characters are full-width, 2 cells each
68
- // 你 (U+4F60) is width 2
69
- assert_eq!(measure_width("你"), 2);
70
- // 好 (U+597D) is width 2
71
- assert_eq!(measure_width("好"), 2);
72
- // "你好" should be 4
73
- assert_eq!(measure_width("你好"), 4);
74
- }
75
-
76
- #[test]
77
- fn test_mixed_width() {
78
- // "a你b好" = 1 + 2 + 1 + 2 = 6
79
- assert_eq!(measure_width("a你b好"), 6);
80
- }
81
-
82
- #[test]
83
- fn test_empty_string() {
84
- assert_eq!(measure_width(""), 0);
85
- }
86
-
87
- #[test]
88
- fn test_spaces_and_punctuation() {
89
- // Regular ASCII space and punctuation are 1 cell each
90
- assert_eq!(measure_width("a b c"), 5);
91
- assert_eq!(measure_width("!!!"), 3);
92
- }
93
-
94
- #[test]
95
- fn test_combining_marks() {
96
- // Zero-width marks don't add to width
97
- // "a" + combining acute accent (U+0301)
98
- let combining = "a\u{0301}";
99
- assert_eq!(measure_width(combining), 1);
100
- }
24
+ let text = Text::raw(&s);
25
+ Ok(text.width())
101
26
  }
@@ -1,6 +1,6 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
2
  //
3
- // SPDX-License-Identifier: AGPL-3.0-or-later
3
+ // SPDX-License-Identifier: LGPL-3.0-or-later
4
4
 
5
5
  use crate::errors::type_error_with_context;
6
6
  use bumpalo::Bump;
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  //! Terminal capability detection functions.
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  //! Terminal initialization and restoration functions.
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  //! Terminal management module.
5
5
  //!
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  //! Terminal mutation functions (write operations).
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  //! Terminal query functions (read-only access to terminal state).
5
5
 
@@ -18,10 +18,28 @@ pub fn get_buffer_content() -> Result<String, Error> {
18
18
  let area = buffer.area;
19
19
  let mut result = String::new();
20
20
  for y in 0..area.height {
21
+ // SPDX-SnippetBegin
22
+ // SPDX-License-Identifier: MIT
23
+ // SPDX-SnippetCopyrightText: The Ratatui Developers
24
+ // Derived from ratatui-core/src/buffer/buffer.rs (Buffer Debug impl)
25
+ let mut skip: usize = 0;
21
26
  for x in 0..area.width {
27
+ if skip > 0 {
28
+ skip -= 1;
29
+ continue;
30
+ }
22
31
  let cell = buffer.cell((x, y)).unwrap();
23
- result.push_str(cell.symbol());
32
+ let symbol = cell.symbol();
33
+ result.push_str(symbol);
34
+ // Skip continuation cells after wide characters (e.g. emoji, CJK).
35
+ // Ratatui's set_stringn resets these to " ", but they don't represent
36
+ // an additional display column — the preceding wide symbol covers them.
37
+ let width = ratatui::text::Text::raw(symbol).width();
38
+ if width > 1 {
39
+ skip = width - 1;
40
+ }
24
41
  }
42
+ // SPDX-SnippetEnd
25
43
  result.push('\n');
26
44
  }
27
45
  Ok(result)
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  //! Terminal query trait and implementations.
5
5
  //!
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  //! Private terminal storage with safe accessor functions.
5
5
  //!
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  //! Terminal wrapper enum for different backend types.
5
5
 
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::errors::type_error_with_context;
5
5
  use crate::style::parse_style;
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::style::{parse_bar_set, parse_block, parse_style};
5
5
  use crate::text::{parse_line, parse_span};
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::rendering::render_node;
5
5
  use crate::style::parse_block;
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::style::{parse_block, parse_style};
5
5
  use bumpalo::Bump;
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::style::{parse_block, parse_color, parse_style};
5
5
  use crate::text::parse_text;
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::rendering::render_node;
5
5
  use magnus::{prelude::*, Error, Value};
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::errors::type_error_with_context;
5
5
  use crate::style::{parse_block, parse_style};
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use bumpalo::Bump;
5
5
  use magnus::{prelude::*, Error, Value};
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use magnus::{Error, Value};
5
5
  use ratatui::{buffer::Buffer, layout::Rect};
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::style::{parse_block, parse_style};
5
5
  use crate::text::parse_span;
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::errors::type_error_with_context;
5
5
  use crate::rendering::render_node;
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::style::{parse_block, parse_style};
5
5
  use crate::text::parse_span;
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::errors::type_error_with_context;
5
5
  use crate::style::{parse_block, parse_style};
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  //! `ListState` wrapper for exposing Ratatui's `ListState` to Ruby.
5
5
  //!
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  pub mod barchart;
5
5
  pub mod block;
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::errors::type_error_with_context;
5
5
  use crate::rendering::render_node;
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::style::{parse_block, parse_style};
5
5
  use bumpalo::Bump;
@@ -1,6 +1,6 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
2
  //
3
- // SPDX-License-Identifier: AGPL-3.0-or-later
3
+ // SPDX-License-Identifier: LGPL-3.0-or-later
4
4
 
5
5
  use magnus::Value;
6
6
  use ratatui::{
@@ -1,6 +1,6 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
2
  //
3
- // SPDX-License-Identifier: AGPL-3.0-or-later
3
+ // SPDX-License-Identifier: LGPL-3.0-or-later
4
4
 
5
5
  use crate::style::parse_block;
6
6
  use bumpalo::Bump;
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::style::parse_block;
5
5
  use crate::widgets::scrollbar_state::RubyScrollbarState;
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  //! `ScrollbarState` wrapper for exposing Ratatui's `ScrollbarState` to Ruby.
5
5
  //!
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::style::{parse_bar_set, parse_block, parse_style};
5
5
  use bumpalo::Bump;
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::errors::type_error_with_context;
5
5
  use crate::style::{parse_block, parse_style};
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  //! `TableState` wrapper for exposing Ratatui's `TableState` to Ruby.
5
5
  //!
@@ -1,5 +1,5 @@
1
1
  // SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
2
- // SPDX-License-Identifier: AGPL-3.0-or-later
2
+ // SPDX-License-Identifier: LGPL-3.0-or-later
3
3
 
4
4
  use crate::errors::type_error_with_context;
5
5
  use crate::style::parse_block;
@@ -8,5 +8,5 @@
8
8
  module RatatuiRuby
9
9
  # The version of the ratatui_ruby gem.
10
10
  # See https://semver.org/spec/v2.0.0.html
11
- VERSION = "1.4.1"
11
+ VERSION = "1.4.2"
12
12
  end
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.4.1
4
+ version: 1.4.2
5
5
  platform: arm64-darwin-24
6
6
  authors:
7
7
  - Kerrick Long