ratatui_ruby 0.7.2 → 0.7.3
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/AGENTS.md +4 -3
- data/CHANGELOG.md +28 -0
- data/README.md +2 -2
- data/doc/concepts/application_testing.md +4 -2
- data/doc/contributors/developing_examples.md +7 -7
- data/doc/contributors/upstream_requests/tab_rects.md +173 -0
- data/doc/contributors/upstream_requests/title_rects.md +132 -0
- data/doc/contributors/v1.0.0_blockers.md +46 -739
- data/doc/troubleshooting/tui_output.md +76 -0
- data/examples/widget_barchart/README.md +1 -1
- data/examples/widget_block/README.md +1 -1
- data/examples/widget_overlay/README.md +1 -1
- data/ext/ratatui_ruby/Cargo.lock +1 -1
- data/ext/ratatui_ruby/Cargo.toml +1 -1
- data/ext/ratatui_ruby/src/lib.rs +2 -2
- data/ext/ratatui_ruby/src/rendering.rs +9 -0
- data/ext/ratatui_ruby/src/style.rs +22 -2
- data/ext/ratatui_ruby/src/text.rs +26 -0
- data/ext/ratatui_ruby/src/widgets/chart.rs +5 -0
- data/lib/ratatui_ruby/style/style.rb +1 -0
- data/lib/ratatui_ruby/test_helper/snapshot.rb +60 -21
- data/lib/ratatui_ruby/test_helper/snapshots/axis_labels_alignment.ansi +24 -0
- data/lib/ratatui_ruby/test_helper/snapshots/axis_labels_alignment.txt +24 -0
- data/lib/ratatui_ruby/test_helper/snapshots/barchart_styled_label.ansi +5 -0
- data/lib/ratatui_ruby/test_helper/snapshots/barchart_styled_label.txt +5 -0
- data/lib/ratatui_ruby/test_helper/snapshots/chart_rendering.ansi +24 -0
- data/lib/ratatui_ruby/test_helper/snapshots/chart_rendering.txt +24 -0
- data/lib/ratatui_ruby/test_helper/snapshots/half_block_marker.ansi +12 -0
- data/lib/ratatui_ruby/test_helper/snapshots/half_block_marker.txt +12 -0
- data/lib/ratatui_ruby/test_helper/snapshots/legend_position_bottom.ansi +12 -0
- data/lib/ratatui_ruby/test_helper/snapshots/legend_position_bottom.txt +12 -0
- data/lib/ratatui_ruby/test_helper/snapshots/legend_position_left.ansi +12 -0
- data/lib/ratatui_ruby/test_helper/snapshots/legend_position_left.txt +12 -0
- data/lib/ratatui_ruby/test_helper/snapshots/legend_position_right.ansi +12 -0
- data/lib/ratatui_ruby/test_helper/snapshots/legend_position_right.txt +12 -0
- data/lib/ratatui_ruby/test_helper/snapshots/legend_position_top.ansi +12 -0
- data/lib/ratatui_ruby/test_helper/snapshots/legend_position_top.txt +12 -0
- data/lib/ratatui_ruby/test_helper/snapshots/my_snapshot.txt +1 -0
- data/lib/ratatui_ruby/test_helper/snapshots/styled_axis_title.ansi +10 -0
- data/lib/ratatui_ruby/test_helper/snapshots/styled_axis_title.txt +10 -0
- data/lib/ratatui_ruby/test_helper/snapshots/styled_dataset_name.ansi +10 -0
- data/lib/ratatui_ruby/test_helper/snapshots/styled_dataset_name.txt +10 -0
- data/lib/ratatui_ruby/test_helper/terminal.rb +3 -0
- data/lib/ratatui_ruby/test_helper.rb +1 -1
- data/lib/ratatui_ruby/version.rb +1 -1
- data/lib/ratatui_ruby/widgets/bar_chart.rb +3 -2
- data/lib/ratatui_ruby/widgets/block.rb +42 -0
- data/lib/ratatui_ruby/widgets/chart.rb +9 -4
- data/lib/ratatui_ruby/widgets/sparkline.rb +3 -2
- data/lib/ratatui_ruby.rb +128 -9
- metadata +26 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Snapshot Content
|
|
@@ -48,6 +48,9 @@ module RatatuiRuby
|
|
|
48
48
|
# # render and test your app
|
|
49
49
|
# end
|
|
50
50
|
def with_test_terminal(width = 80, height = 24, **opts)
|
|
51
|
+
# Defensive cleanup: reset any stale session state from previous test failures
|
|
52
|
+
RatatuiRuby.instance_variable_set(:@tui_session_active, false)
|
|
53
|
+
|
|
51
54
|
RatatuiRuby.init_test_terminal(width, height)
|
|
52
55
|
# Flush any lingering events from previous tests
|
|
53
56
|
while (event = RatatuiRuby.poll_event) && !event.none?; end
|
data/lib/ratatui_ruby/version.rb
CHANGED
|
@@ -156,9 +156,10 @@ module RatatuiRuby
|
|
|
156
156
|
# [value_style]
|
|
157
157
|
# Style object for values (optional).
|
|
158
158
|
# [bar_set]
|
|
159
|
-
# Hash or Array: Custom characters for
|
|
159
|
+
# Symbol, Hash, or Array: Custom characters for bars.
|
|
160
|
+
# Symbols: <tt>:nine_levels</tt> (default gradient), <tt>:three_levels</tt> (simplified).
|
|
160
161
|
def initialize(data:, bar_width: 3, bar_gap: 1, group_gap: 0, max: nil, style: nil, block: nil, direction: :vertical, label_style: nil, value_style: nil, bar_set: nil)
|
|
161
|
-
if bar_set
|
|
162
|
+
if bar_set && !bar_set.is_a?(Symbol)
|
|
162
163
|
if bar_set.is_a?(Array) && bar_set.size == 9
|
|
163
164
|
# Convert Array to Hash using BAR_KEYS order
|
|
164
165
|
bar_set = BAR_KEYS.zip(bar_set).to_h
|
|
@@ -189,6 +189,48 @@ module RatatuiRuby
|
|
|
189
189
|
children:
|
|
190
190
|
)
|
|
191
191
|
end
|
|
192
|
+
|
|
193
|
+
# Computes the inner content area given an outer area.
|
|
194
|
+
#
|
|
195
|
+
# This method calculates where content should be placed within a block,
|
|
196
|
+
# accounting for borders and padding. Essential for layout calculations
|
|
197
|
+
# when you need to know the usable space inside a block.
|
|
198
|
+
#
|
|
199
|
+
# === Example
|
|
200
|
+
#
|
|
201
|
+
# block = Block.new(borders: [:all], padding: 1)
|
|
202
|
+
# outer = Layout::Rect.new(x: 0, y: 0, width: 20, height: 10)
|
|
203
|
+
# inner = block.inner(outer)
|
|
204
|
+
# # => Rect(x: 2, y: 2, width: 16, height: 6)
|
|
205
|
+
#
|
|
206
|
+
# [area]
|
|
207
|
+
# The outer Rect to compute the inner area for.
|
|
208
|
+
#
|
|
209
|
+
# Returns a new Rect representing the inner content area.
|
|
210
|
+
def inner(area)
|
|
211
|
+
# Calculate border offsets
|
|
212
|
+
has_border = -> (side) { borders.include?(:all) || borders.include?(side) }
|
|
213
|
+
left_border = has_border.call(:left) ? 1 : 0
|
|
214
|
+
right_border = has_border.call(:right) ? 1 : 0
|
|
215
|
+
top_border = has_border.call(:top) ? 1 : 0
|
|
216
|
+
bottom_border = has_border.call(:bottom) ? 1 : 0
|
|
217
|
+
|
|
218
|
+
# Calculate padding offsets
|
|
219
|
+
if padding.is_a?(Array)
|
|
220
|
+
# [left, right, top, bottom]
|
|
221
|
+
pad_left, pad_right, pad_top, pad_bottom = padding
|
|
222
|
+
else
|
|
223
|
+
pad_left = pad_right = pad_top = pad_bottom = padding
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
# Compute inner area
|
|
227
|
+
new_x = area.x + left_border + pad_left
|
|
228
|
+
new_y = area.y + top_border + pad_top
|
|
229
|
+
new_width = [area.width - left_border - right_border - pad_left - pad_right, 0].max
|
|
230
|
+
new_height = [area.height - top_border - bottom_border - pad_top - pad_bottom, 0].max
|
|
231
|
+
|
|
232
|
+
Layout::Rect.new(x: new_x, y: new_y, width: new_width, height: new_height)
|
|
233
|
+
end
|
|
192
234
|
end
|
|
193
235
|
end
|
|
194
236
|
end
|
|
@@ -56,7 +56,7 @@ module RatatuiRuby
|
|
|
56
56
|
# [name] The name of the dataset.
|
|
57
57
|
# [data] Array of arrays [[x, y], [x, y]] (Floats).
|
|
58
58
|
# [style] The style of the line.
|
|
59
|
-
# [marker] Symbol (<tt>:dot</tt>, <tt>:braille</tt>, <tt>:block</tt>, <tt>:bar</tt>)
|
|
59
|
+
# [marker] Symbol (<tt>:dot</tt>, <tt>:braille</tt>, <tt>:block</tt>, <tt>:bar</tt>, <tt>:half_block</tt>)
|
|
60
60
|
# [graph_type] Symbol (<tt>:line</tt>, <tt>:scatter</tt>)
|
|
61
61
|
class Dataset < Data.define(:name, :data, :style, :marker, :graph_type)
|
|
62
62
|
##
|
|
@@ -81,7 +81,9 @@ module RatatuiRuby
|
|
|
81
81
|
|
|
82
82
|
##
|
|
83
83
|
# :attr_reader: marker
|
|
84
|
-
# Marker type (<tt>:dot</tt>, <tt>:braille</tt>).
|
|
84
|
+
# Marker type (<tt>:dot</tt>, <tt>:braille</tt>, <tt>:block</tt>, <tt>:bar</tt>, <tt>:half_block</tt>).
|
|
85
|
+
#
|
|
86
|
+
# <tt>:half_block</tt> uses ▀ and ▄ characters for higher resolution than <tt>:dot</tt>.
|
|
85
87
|
|
|
86
88
|
##
|
|
87
89
|
# :attr_reader: graph_type
|
|
@@ -138,7 +140,10 @@ module RatatuiRuby
|
|
|
138
140
|
|
|
139
141
|
##
|
|
140
142
|
# :attr_reader: legend_position
|
|
141
|
-
# Position of the legend
|
|
143
|
+
# Position of the legend.
|
|
144
|
+
#
|
|
145
|
+
# Corners: <tt>:top_left</tt>, <tt>:top_right</tt>, <tt>:bottom_left</tt>, <tt>:bottom_right</tt>.
|
|
146
|
+
# Edges: <tt>:top</tt>, <tt>:bottom</tt>, <tt>:left</tt>, <tt>:right</tt>.
|
|
142
147
|
|
|
143
148
|
##
|
|
144
149
|
# :attr_reader: hidden_legend_constraints
|
|
@@ -151,7 +156,7 @@ module RatatuiRuby
|
|
|
151
156
|
# [y_axis] Y Axis config.
|
|
152
157
|
# [block] Wrapper (optional).
|
|
153
158
|
# [style] Base style (optional).
|
|
154
|
-
# [legend_position] Symbol
|
|
159
|
+
# [legend_position] Symbol — corners: <tt>:top_left</tt>, <tt>:top_right</tt>, <tt>:bottom_left</tt>, <tt>:bottom_right</tt>; edges: <tt>:top</tt>, <tt>:bottom</tt>, <tt>:left</tt>, <tt>:right</tt>.
|
|
155
160
|
# [hidden_legend_constraints] Array of two Constraints [width, height] (optional).
|
|
156
161
|
def initialize(datasets:, x_axis:, y_axis:, block: nil, style: nil, legend_position: nil, hidden_legend_constraints: [])
|
|
157
162
|
super
|
|
@@ -103,9 +103,10 @@ module RatatuiRuby
|
|
|
103
103
|
# [direction] +:left_to_right+ or +:right_to_left+ (default: +:left_to_right+).
|
|
104
104
|
# [absent_value_symbol] Character for absent (nil) values (optional).
|
|
105
105
|
# [absent_value_style] Style for absent (nil) values (optional).
|
|
106
|
-
# [bar_set] Hash or Array of custom characters (optional).
|
|
106
|
+
# [bar_set] Symbol, Hash, or Array of custom characters (optional).
|
|
107
|
+
# Symbols: <tt>:nine_levels</tt> (default gradient), <tt>:three_levels</tt> (simplified).
|
|
107
108
|
def initialize(data:, max: nil, style: nil, block: nil, direction: :left_to_right, absent_value_symbol: nil, absent_value_style: nil, bar_set: nil)
|
|
108
|
-
if bar_set
|
|
109
|
+
if bar_set && !bar_set.is_a?(Symbol)
|
|
109
110
|
if bar_set.is_a?(Array) && bar_set.size == 9
|
|
110
111
|
# Convert Array to Hash using BAR_KEYS order
|
|
111
112
|
bar_set = BAR_KEYS.zip(bar_set).to_h
|
data/lib/ratatui_ruby.rb
CHANGED
|
@@ -42,13 +42,72 @@ end
|
|
|
42
42
|
#
|
|
43
43
|
# Use `RatatuiRuby.run` to start your application.
|
|
44
44
|
module RatatuiRuby
|
|
45
|
-
#
|
|
45
|
+
# Base error class for RatatuiRuby.
|
|
46
|
+
#
|
|
47
|
+
# All library-specific exceptions inherit from this class.
|
|
48
|
+
# Catch this to handle any RatatuiRuby error generically.
|
|
49
|
+
#
|
|
50
|
+
# === Example
|
|
51
|
+
#
|
|
52
|
+
# begin
|
|
53
|
+
# RatatuiRuby.run { |tui| ... }
|
|
54
|
+
# rescue RatatuiRuby::Error => e
|
|
55
|
+
# puts "RatatuiRuby error: #{e.message}"
|
|
56
|
+
# end
|
|
46
57
|
class Error < StandardError
|
|
47
|
-
#
|
|
58
|
+
# Operational failure during terminal I/O.
|
|
59
|
+
#
|
|
60
|
+
# Terminals are finnicky. I/O can fail. Backends can crash.
|
|
61
|
+
# These are runtime problems outside your control.
|
|
62
|
+
#
|
|
63
|
+
# This error signals the terminal operation itself failed.
|
|
64
|
+
# The library tried to do something with the terminal and couldn't.
|
|
65
|
+
#
|
|
66
|
+
# Catch this to handle terminal failures gracefully.
|
|
67
|
+
#
|
|
68
|
+
# === Example
|
|
69
|
+
#
|
|
70
|
+
# begin
|
|
71
|
+
# RatatuiRuby.init_terminal
|
|
72
|
+
# rescue RatatuiRuby::Error::Terminal => e
|
|
73
|
+
# puts "Terminal failed: #{e.message}"
|
|
74
|
+
# end
|
|
48
75
|
class Terminal < Error; end
|
|
49
76
|
|
|
50
|
-
#
|
|
77
|
+
# Object lifetime violation.
|
|
78
|
+
#
|
|
79
|
+
# Some objects are only valid during specific scopes.
|
|
80
|
+
# Using them after their scope ends causes undefined behavior.
|
|
81
|
+
#
|
|
82
|
+
# This error prevents use-after-scope bugs.
|
|
83
|
+
# The object you're accessing is no longer valid.
|
|
84
|
+
#
|
|
85
|
+
# To resolve, ensure scoped objects are used only within their
|
|
86
|
+
# valid lifetime (e.g., inside the block where they're created).
|
|
87
|
+
#
|
|
88
|
+
# === Example
|
|
89
|
+
#
|
|
90
|
+
# stored_frame = nil
|
|
91
|
+
# RatatuiRuby.draw { |frame| stored_frame = frame }
|
|
92
|
+
# stored_frame.area # => raises Error::Safety
|
|
51
93
|
class Safety < Error; end
|
|
94
|
+
|
|
95
|
+
# State invariant violation.
|
|
96
|
+
#
|
|
97
|
+
# The library has rules about valid state transitions.
|
|
98
|
+
# Calling methods in the wrong order or state breaks invariants.
|
|
99
|
+
#
|
|
100
|
+
# This error signals you violated a state machine contract.
|
|
101
|
+
# The program state doesn't allow this operation right now.
|
|
102
|
+
#
|
|
103
|
+
# To resolve, check `terminal_active?` or restructure the
|
|
104
|
+
# code to ensure methods are called in the expected order.
|
|
105
|
+
#
|
|
106
|
+
# === Example
|
|
107
|
+
#
|
|
108
|
+
# RatatuiRuby.init_terminal
|
|
109
|
+
# RatatuiRuby.init_terminal # => raises Error::Invariant
|
|
110
|
+
class Invariant < Error; end
|
|
52
111
|
end
|
|
53
112
|
|
|
54
113
|
##
|
|
@@ -58,23 +117,64 @@ module RatatuiRuby
|
|
|
58
117
|
# [focus_events] whether to enable focus gain/loss events (default: true).
|
|
59
118
|
# [bracketed_paste] whether to enable bracketed paste mode (default: true).
|
|
60
119
|
def self.init_terminal(focus_events: true, bracketed_paste: true)
|
|
120
|
+
if @tui_session_active
|
|
121
|
+
raise Error::Invariant, "Cannot initialize terminal: TUI session already active"
|
|
122
|
+
end
|
|
123
|
+
@tui_session_active = true
|
|
61
124
|
_init_terminal(focus_events, bracketed_paste)
|
|
62
125
|
end
|
|
63
126
|
|
|
64
127
|
@experimental_warnings = true
|
|
128
|
+
@tui_session_active = false
|
|
129
|
+
@deferred_warnings = []
|
|
130
|
+
|
|
131
|
+
##
|
|
132
|
+
# Whether a TUI session is currently active.
|
|
133
|
+
#
|
|
134
|
+
# Writing to stdout/stderr during a TUI session corrupts the display.
|
|
135
|
+
# Use this to defer logging, warnings, or debug output until
|
|
136
|
+
# after the session ends.
|
|
137
|
+
#
|
|
138
|
+
# === Example
|
|
139
|
+
#
|
|
140
|
+
# def log(message)
|
|
141
|
+
# if RatatuiRuby.terminal_active?
|
|
142
|
+
# @deferred_logs << message
|
|
143
|
+
# else
|
|
144
|
+
# puts message
|
|
145
|
+
# end
|
|
146
|
+
# end
|
|
147
|
+
def self.terminal_active?
|
|
148
|
+
@tui_session_active
|
|
149
|
+
end
|
|
150
|
+
|
|
65
151
|
class << self
|
|
66
152
|
##
|
|
67
153
|
# :attr_accessor: experimental_warnings
|
|
68
154
|
# Whether to show warnings when using experimental features (default: true).
|
|
69
155
|
attr_accessor :experimental_warnings
|
|
156
|
+
|
|
157
|
+
private def queue_warning(message)
|
|
158
|
+
@deferred_warnings << message
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
private def flush_warnings
|
|
162
|
+
return if @deferred_warnings.empty?
|
|
163
|
+
@deferred_warnings.each { |msg| warn msg }
|
|
164
|
+
@deferred_warnings.clear
|
|
165
|
+
end
|
|
70
166
|
end
|
|
71
167
|
|
|
72
168
|
##
|
|
73
|
-
# :singleton-method: restore_terminal
|
|
74
169
|
# Restores the terminal to its original state.
|
|
75
170
|
# Leaves alternate screen and disables raw mode.
|
|
76
|
-
#
|
|
77
|
-
|
|
171
|
+
# Also flushes any deferred warnings that were queued during the session.
|
|
172
|
+
def self.restore_terminal
|
|
173
|
+
_restore_terminal
|
|
174
|
+
ensure
|
|
175
|
+
@tui_session_active = false
|
|
176
|
+
flush_warnings
|
|
177
|
+
end
|
|
78
178
|
|
|
79
179
|
##
|
|
80
180
|
# :singleton-method: inject_test_event
|
|
@@ -98,12 +198,31 @@ module RatatuiRuby
|
|
|
98
198
|
@warned_features ||= {}
|
|
99
199
|
return if @warned_features[feature_name]
|
|
100
200
|
|
|
101
|
-
|
|
201
|
+
message = "WARNING: #{feature_name} is an experimental feature and may change in future versions. Disable this warning with RatatuiRuby.experimental_warnings = false."
|
|
202
|
+
if terminal_active?
|
|
203
|
+
queue_warning(message)
|
|
204
|
+
else
|
|
205
|
+
warn message
|
|
206
|
+
end
|
|
102
207
|
@warned_features[feature_name] = true
|
|
103
208
|
end
|
|
104
209
|
|
|
105
|
-
|
|
106
|
-
|
|
210
|
+
##
|
|
211
|
+
# Initializes a test terminal for unit testing.
|
|
212
|
+
# Sets session active state like init_terminal.
|
|
213
|
+
#
|
|
214
|
+
# [width] Integer width of the test terminal.
|
|
215
|
+
# [height] Integer height of the test terminal.
|
|
216
|
+
def self.init_test_terminal(width, height)
|
|
217
|
+
if @tui_session_active
|
|
218
|
+
raise Error::Invariant, "Cannot initialize terminal: TUI session already active"
|
|
219
|
+
end
|
|
220
|
+
@tui_session_active = true
|
|
221
|
+
_init_test_terminal(width, height)
|
|
222
|
+
end
|
|
223
|
+
|
|
224
|
+
# (Native methods implemented in Rust)
|
|
225
|
+
private_class_method :_init_terminal, :_restore_terminal, :_init_test_terminal
|
|
107
226
|
|
|
108
227
|
##
|
|
109
228
|
# Draws the given UI node tree to the terminal.
|
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: 0.7.
|
|
4
|
+
version: 0.7.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kerrick Long
|
|
@@ -117,6 +117,8 @@ files:
|
|
|
117
117
|
- doc/contributors/developing_examples.md
|
|
118
118
|
- doc/contributors/documentation_style.md
|
|
119
119
|
- doc/contributors/index.md
|
|
120
|
+
- doc/contributors/upstream_requests/tab_rects.md
|
|
121
|
+
- doc/contributors/upstream_requests/title_rects.md
|
|
120
122
|
- doc/contributors/v1.0.0_blockers.md
|
|
121
123
|
- doc/custom.css
|
|
122
124
|
- doc/getting_started/quickstart.md
|
|
@@ -160,6 +162,7 @@ files:
|
|
|
160
162
|
- doc/migration/v0_7_0.md
|
|
161
163
|
- doc/troubleshooting/debugging.md
|
|
162
164
|
- doc/troubleshooting/terminal_limitations.md
|
|
165
|
+
- doc/troubleshooting/tui_output.md
|
|
163
166
|
- examples/app_all_events/README.md
|
|
164
167
|
- examples/app_all_events/app.rb
|
|
165
168
|
- examples/app_all_events/model/app_model.rb
|
|
@@ -351,6 +354,27 @@ files:
|
|
|
351
354
|
- lib/ratatui_ruby/test_helper.rb
|
|
352
355
|
- lib/ratatui_ruby/test_helper/event_injection.rb
|
|
353
356
|
- lib/ratatui_ruby/test_helper/snapshot.rb
|
|
357
|
+
- lib/ratatui_ruby/test_helper/snapshots/axis_labels_alignment.ansi
|
|
358
|
+
- lib/ratatui_ruby/test_helper/snapshots/axis_labels_alignment.txt
|
|
359
|
+
- lib/ratatui_ruby/test_helper/snapshots/barchart_styled_label.ansi
|
|
360
|
+
- lib/ratatui_ruby/test_helper/snapshots/barchart_styled_label.txt
|
|
361
|
+
- lib/ratatui_ruby/test_helper/snapshots/chart_rendering.ansi
|
|
362
|
+
- lib/ratatui_ruby/test_helper/snapshots/chart_rendering.txt
|
|
363
|
+
- lib/ratatui_ruby/test_helper/snapshots/half_block_marker.ansi
|
|
364
|
+
- lib/ratatui_ruby/test_helper/snapshots/half_block_marker.txt
|
|
365
|
+
- lib/ratatui_ruby/test_helper/snapshots/legend_position_bottom.ansi
|
|
366
|
+
- lib/ratatui_ruby/test_helper/snapshots/legend_position_bottom.txt
|
|
367
|
+
- lib/ratatui_ruby/test_helper/snapshots/legend_position_left.ansi
|
|
368
|
+
- lib/ratatui_ruby/test_helper/snapshots/legend_position_left.txt
|
|
369
|
+
- lib/ratatui_ruby/test_helper/snapshots/legend_position_right.ansi
|
|
370
|
+
- lib/ratatui_ruby/test_helper/snapshots/legend_position_right.txt
|
|
371
|
+
- lib/ratatui_ruby/test_helper/snapshots/legend_position_top.ansi
|
|
372
|
+
- lib/ratatui_ruby/test_helper/snapshots/legend_position_top.txt
|
|
373
|
+
- lib/ratatui_ruby/test_helper/snapshots/my_snapshot.txt
|
|
374
|
+
- lib/ratatui_ruby/test_helper/snapshots/styled_axis_title.ansi
|
|
375
|
+
- lib/ratatui_ruby/test_helper/snapshots/styled_axis_title.txt
|
|
376
|
+
- lib/ratatui_ruby/test_helper/snapshots/styled_dataset_name.ansi
|
|
377
|
+
- lib/ratatui_ruby/test_helper/snapshots/styled_dataset_name.txt
|
|
354
378
|
- lib/ratatui_ruby/test_helper/style_assertions.rb
|
|
355
379
|
- lib/ratatui_ruby/test_helper/terminal.rb
|
|
356
380
|
- lib/ratatui_ruby/test_helper/test_doubles.rb
|
|
@@ -531,7 +555,7 @@ metadata:
|
|
|
531
555
|
allowed_push_host: https://rubygems.org
|
|
532
556
|
homepage_uri: https://sr.ht/~kerrick/ratatui_ruby/
|
|
533
557
|
bug_tracker_uri: https://todo.sr.ht/~kerrick/ratatui_ruby
|
|
534
|
-
changelog_uri: https://git.sr.ht/~kerrick/ratatui_ruby/tree/
|
|
558
|
+
changelog_uri: https://git.sr.ht/~kerrick/ratatui_ruby/tree/stable/item/CHANGELOG.md
|
|
535
559
|
mailing_list_uri: https://lists.sr.ht/~kerrick/ratatui_ruby-discuss
|
|
536
560
|
source_code_uri: https://git.sr.ht/~kerrick/ratatui_ruby
|
|
537
561
|
documentation_uri: https://git.sr.ht/~kerrick/ratatui_ruby/tree/HEAD/doc/index.md
|