ratatui_ruby 0.6.0 → 0.7.1
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 -4
- data/CHANGELOG.md +48 -0
- data/README.md +26 -1
- data/doc/application_architecture.md +16 -16
- data/doc/application_testing.md +1 -1
- data/doc/async.md +160 -0
- data/doc/contributors/architectural_overhaul/chat_conversations.md +4952 -0
- data/doc/contributors/architectural_overhaul/implementation_plan.md +60 -0
- data/doc/contributors/architectural_overhaul/task.md +37 -0
- data/doc/contributors/design/ruby_frontend.md +277 -81
- data/doc/contributors/design/rust_backend.md +349 -55
- data/doc/contributors/developing_examples.md +5 -5
- data/doc/contributors/index.md +7 -5
- data/doc/contributors/v1.0.0_blockers.md +1729 -0
- data/doc/debugging.md +71 -0
- data/doc/index.md +11 -6
- data/doc/interactive_design.md +2 -2
- data/doc/quickstart.md +66 -97
- data/doc/v0.7.0_migration.md +236 -0
- data/doc/why.md +93 -0
- data/examples/app_all_events/README.md +6 -4
- data/examples/app_all_events/app.rb +1 -1
- data/examples/app_all_events/model/app_model.rb +1 -1
- data/examples/app_all_events/model/msg.rb +1 -1
- data/examples/app_all_events/update.rb +1 -1
- data/examples/app_all_events/view/app_view.rb +1 -1
- data/examples/app_all_events/view/controls_view.rb +1 -1
- data/examples/app_all_events/view/counts_view.rb +1 -1
- data/examples/app_all_events/view/live_view.rb +1 -1
- data/examples/app_all_events/view/log_view.rb +1 -1
- data/examples/app_color_picker/README.md +7 -5
- data/examples/app_color_picker/app.rb +1 -1
- data/examples/app_login_form/README.md +2 -0
- data/examples/app_stateful_interaction/README.md +2 -0
- data/examples/app_stateful_interaction/app.rb +1 -1
- data/examples/verify_quickstart_dsl/README.md +4 -3
- data/examples/verify_quickstart_dsl/app.rb +1 -1
- data/examples/verify_quickstart_layout/README.md +1 -1
- data/examples/verify_quickstart_lifecycle/README.md +3 -3
- data/examples/verify_quickstart_lifecycle/app.rb +2 -2
- data/examples/verify_readme_usage/README.md +1 -1
- data/examples/widget_barchart_demo/README.md +2 -1
- data/examples/widget_block_demo/README.md +2 -0
- data/examples/widget_box_demo/README.md +3 -3
- data/examples/widget_calendar_demo/README.md +3 -3
- data/examples/widget_calendar_demo/app.rb +5 -1
- data/examples/widget_canvas_demo/README.md +3 -3
- data/examples/widget_cell_demo/README.md +3 -3
- data/examples/widget_center_demo/README.md +3 -3
- data/examples/widget_chart_demo/README.md +3 -3
- data/examples/widget_gauge_demo/README.md +3 -3
- data/examples/widget_layout_split/README.md +3 -3
- data/examples/widget_line_gauge_demo/README.md +3 -3
- data/examples/widget_list_demo/README.md +3 -3
- data/examples/widget_map_demo/README.md +3 -3
- data/examples/widget_map_demo/app.rb +2 -2
- data/examples/widget_overlay_demo/README.md +36 -0
- data/examples/widget_popup_demo/README.md +3 -3
- data/examples/widget_ratatui_logo_demo/README.md +3 -3
- data/examples/widget_ratatui_logo_demo/app.rb +1 -1
- data/examples/widget_ratatui_mascot_demo/README.md +3 -3
- data/examples/widget_rect/README.md +3 -3
- data/examples/widget_render/README.md +3 -3
- data/examples/widget_render/app.rb +3 -3
- data/examples/widget_rich_text/README.md +3 -3
- data/examples/widget_scroll_text/README.md +3 -3
- data/examples/widget_scrollbar_demo/README.md +3 -3
- data/examples/widget_sparkline_demo/README.md +3 -3
- data/examples/widget_style_colors/README.md +3 -3
- data/examples/widget_table_demo/README.md +3 -3
- data/examples/widget_table_demo/app.rb +19 -4
- data/examples/widget_tabs_demo/README.md +3 -3
- data/examples/widget_text_width/README.md +3 -3
- data/examples/widget_text_width/app.rb +8 -1
- data/ext/ratatui_ruby/Cargo.lock +1 -1
- data/ext/ratatui_ruby/Cargo.toml +1 -1
- data/ext/ratatui_ruby/src/frame.rs +6 -5
- data/ext/ratatui_ruby/src/lib.rs +3 -2
- data/ext/ratatui_ruby/src/rendering.rs +22 -21
- data/ext/ratatui_ruby/src/style.rs +25 -9
- data/ext/ratatui_ruby/src/text.rs +12 -3
- data/ext/ratatui_ruby/src/widgets/canvas.rs +5 -5
- data/ext/ratatui_ruby/src/widgets/table.rs +81 -36
- data/lib/ratatui_ruby/buffer/cell.rb +168 -0
- data/lib/ratatui_ruby/buffer.rb +15 -0
- data/lib/ratatui_ruby/frame.rb +8 -8
- data/lib/ratatui_ruby/layout/constraint.rb +95 -0
- data/lib/ratatui_ruby/layout/layout.rb +106 -0
- data/lib/ratatui_ruby/layout/rect.rb +118 -0
- data/lib/ratatui_ruby/layout.rb +19 -0
- data/lib/ratatui_ruby/list_state.rb +2 -2
- data/lib/ratatui_ruby/schema/layout.rb +1 -1
- data/lib/ratatui_ruby/schema/row.rb +66 -0
- data/lib/ratatui_ruby/schema/table.rb +10 -10
- data/lib/ratatui_ruby/schema/text.rb +27 -2
- data/lib/ratatui_ruby/style/style.rb +81 -0
- data/lib/ratatui_ruby/style.rb +15 -0
- data/lib/ratatui_ruby/table_state.rb +1 -1
- data/lib/ratatui_ruby/test_helper/snapshot.rb +24 -0
- data/lib/ratatui_ruby/test_helper/style_assertions.rb +1 -1
- data/lib/ratatui_ruby/tui/buffer_factories.rb +20 -0
- data/lib/ratatui_ruby/tui/canvas_factories.rb +44 -0
- data/lib/ratatui_ruby/tui/core.rb +38 -0
- data/lib/ratatui_ruby/tui/layout_factories.rb +74 -0
- data/lib/ratatui_ruby/tui/state_factories.rb +33 -0
- data/lib/ratatui_ruby/tui/style_factories.rb +20 -0
- data/lib/ratatui_ruby/tui/text_factories.rb +44 -0
- data/lib/ratatui_ruby/tui/widget_factories.rb +195 -0
- data/lib/ratatui_ruby/tui.rb +75 -0
- data/lib/ratatui_ruby/version.rb +1 -1
- data/lib/ratatui_ruby/widgets/bar_chart/bar.rb +47 -0
- data/lib/ratatui_ruby/widgets/bar_chart/bar_group.rb +25 -0
- data/lib/ratatui_ruby/widgets/bar_chart.rb +239 -0
- data/lib/ratatui_ruby/widgets/block.rb +192 -0
- data/lib/ratatui_ruby/widgets/calendar.rb +84 -0
- data/lib/ratatui_ruby/widgets/canvas.rb +231 -0
- data/lib/ratatui_ruby/widgets/cell.rb +47 -0
- data/lib/ratatui_ruby/widgets/center.rb +59 -0
- data/lib/ratatui_ruby/widgets/chart.rb +185 -0
- data/lib/ratatui_ruby/widgets/clear.rb +54 -0
- data/lib/ratatui_ruby/widgets/cursor.rb +42 -0
- data/lib/ratatui_ruby/widgets/gauge.rb +72 -0
- data/lib/ratatui_ruby/widgets/line_gauge.rb +80 -0
- data/lib/ratatui_ruby/widgets/list.rb +127 -0
- data/lib/ratatui_ruby/widgets/list_item.rb +43 -0
- data/lib/ratatui_ruby/widgets/overlay.rb +43 -0
- data/lib/ratatui_ruby/widgets/paragraph.rb +99 -0
- data/lib/ratatui_ruby/widgets/ratatui_logo.rb +31 -0
- data/lib/ratatui_ruby/widgets/ratatui_mascot.rb +36 -0
- data/lib/ratatui_ruby/widgets/row.rb +68 -0
- data/lib/ratatui_ruby/widgets/scrollbar.rb +143 -0
- data/lib/ratatui_ruby/widgets/shape/label.rb +68 -0
- data/lib/ratatui_ruby/widgets/sparkline.rb +134 -0
- data/lib/ratatui_ruby/widgets/table.rb +141 -0
- data/lib/ratatui_ruby/widgets/tabs.rb +85 -0
- data/lib/ratatui_ruby/widgets.rb +40 -0
- data/lib/ratatui_ruby.rb +23 -39
- data/sig/examples/app_all_events/view.rbs +1 -1
- data/sig/examples/app_all_events/view_state.rbs +1 -1
- data/sig/ratatui_ruby/schema/row.rbs +22 -0
- data/sig/ratatui_ruby/schema/table.rbs +1 -1
- data/sig/ratatui_ruby/schema/text.rbs +1 -0
- data/sig/ratatui_ruby/session.rbs +29 -49
- data/sig/ratatui_ruby/tui/buffer_factories.rbs +10 -0
- data/sig/ratatui_ruby/tui/canvas_factories.rbs +14 -0
- data/sig/ratatui_ruby/tui/core.rbs +14 -0
- data/sig/ratatui_ruby/tui/layout_factories.rbs +19 -0
- data/sig/ratatui_ruby/tui/state_factories.rbs +12 -0
- data/sig/ratatui_ruby/tui/style_factories.rbs +10 -0
- data/sig/ratatui_ruby/tui/text_factories.rbs +14 -0
- data/sig/ratatui_ruby/tui/widget_factories.rbs +39 -0
- data/sig/ratatui_ruby/tui.rbs +19 -0
- data/tasks/autodoc.rake +1 -35
- data/tasks/bump/changelog.rb +8 -0
- data/tasks/bump/ruby_gem.rb +12 -0
- data/tasks/bump/unreleased_section.rb +16 -0
- data/tasks/sourcehut.rake +4 -1
- metadata +64 -15
- data/doc/contributors/dwim_dx.md +0 -366
- data/doc/contributors/examples_audit/p1_high.md +0 -21
- data/doc/contributors/examples_audit/p2_moderate.md +0 -81
- data/doc/contributors/examples_audit.md +0 -41
- data/doc/images/app_analytics.png +0 -0
- data/doc/images/app_custom_widget.png +0 -0
- data/doc/images/app_mouse_events.png +0 -0
- data/doc/images/widget_table_flex.png +0 -0
- data/lib/ratatui_ruby/session/autodoc.rb +0 -482
- data/lib/ratatui_ruby/session.rb +0 -178
- data/tasks/autodoc/inventory.rb +0 -63
- data/tasks/autodoc/notice.rb +0 -26
- data/tasks/autodoc/rbs.rb +0 -38
- data/tasks/autodoc/rdoc.rb +0 -45
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
|
|
2
|
+
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
3
|
+
|
|
4
|
+
module RatatuiRuby
|
|
5
|
+
class TUI
|
|
6
|
+
module WidgetFactories
|
|
7
|
+
def block: (**top) -> Widgets::Block
|
|
8
|
+
def paragraph: (**top) -> Widgets::Paragraph
|
|
9
|
+
def list: (**top) -> Widgets::List
|
|
10
|
+
def list_item: (**top) -> Widgets::ListItem
|
|
11
|
+
def table: (**top) -> Widgets::Table
|
|
12
|
+
def row: (**top) -> Widgets::Row
|
|
13
|
+
def table_row: (**top) -> Widgets::Row
|
|
14
|
+
def table_cell: (**top) -> Widgets::Cell
|
|
15
|
+
def tabs: (**top) -> Widgets::Tabs
|
|
16
|
+
def gauge: (**top) -> Widgets::Gauge
|
|
17
|
+
def line_gauge: (**top) -> Widgets::LineGauge
|
|
18
|
+
def sparkline: (**top) -> Widgets::Sparkline
|
|
19
|
+
def bar_chart: (**top) -> Widgets::BarChart
|
|
20
|
+
def bar: (**top) -> Widgets::BarChart::Bar
|
|
21
|
+
def bar_group: (**top) -> Widgets::BarChart::BarGroup
|
|
22
|
+
def bar_chart_bar: (**top) -> Widgets::BarChart::Bar
|
|
23
|
+
def bar_chart_bar_group: (**top) -> Widgets::BarChart::BarGroup
|
|
24
|
+
def chart: (**top) -> Widgets::Chart
|
|
25
|
+
def dataset: (**top) -> Widgets::Dataset
|
|
26
|
+
def axis: (**top) -> Widgets::Axis
|
|
27
|
+
def scrollbar: (**top) -> Widgets::Scrollbar
|
|
28
|
+
def calendar: (**top) -> Widgets::Calendar
|
|
29
|
+
def canvas: (**top) -> Widgets::Canvas
|
|
30
|
+
def clear: (**top) -> Widgets::Clear
|
|
31
|
+
def cursor: (**top) -> Widgets::Cursor
|
|
32
|
+
def overlay: (**top) -> Widgets::Overlay
|
|
33
|
+
def center: (**top) -> Widgets::Center
|
|
34
|
+
def ratatui_logo: (**top) -> Widgets::RatatuiLogo
|
|
35
|
+
def ratatui_mascot: (**top) -> Widgets::RatatuiMascot
|
|
36
|
+
def shape_label: (**top) -> Widgets::Shape::Label
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
|
|
2
|
+
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
3
|
+
|
|
4
|
+
module RatatuiRuby
|
|
5
|
+
# Terminal User Interface facade providing a concise DSL for building TUI applications.
|
|
6
|
+
#
|
|
7
|
+
# Combines all factory mixins to provide convenient access to widgets, layouts,
|
|
8
|
+
# styles, and terminal operations without verbose class name qualification.
|
|
9
|
+
class TUI
|
|
10
|
+
include Core
|
|
11
|
+
include LayoutFactories
|
|
12
|
+
include StyleFactories
|
|
13
|
+
include WidgetFactories
|
|
14
|
+
include TextFactories
|
|
15
|
+
include StateFactories
|
|
16
|
+
include CanvasFactories
|
|
17
|
+
include BufferFactories
|
|
18
|
+
end
|
|
19
|
+
end
|
data/tasks/autodoc.rake
CHANGED
|
@@ -3,45 +3,11 @@
|
|
|
3
3
|
# SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
|
|
4
4
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
5
5
|
|
|
6
|
-
require_relative "autodoc/inventory"
|
|
7
|
-
require_relative "autodoc/notice"
|
|
8
|
-
require_relative "autodoc/rbs"
|
|
9
|
-
require_relative "autodoc/rdoc"
|
|
10
6
|
require_relative "autodoc/examples"
|
|
11
7
|
|
|
12
8
|
namespace :autodoc do
|
|
13
9
|
desc "Update all automatically generated documentation"
|
|
14
|
-
task all: [:
|
|
15
|
-
|
|
16
|
-
desc "Update all automatically generated RBS signatures"
|
|
17
|
-
task rbs: ["rbs:session"]
|
|
18
|
-
|
|
19
|
-
desc "Update all automatically generated RDoc files"
|
|
20
|
-
task rdoc: ["rdoc:session"]
|
|
21
|
-
|
|
22
|
-
namespace :rbs do
|
|
23
|
-
desc "Generate RBS for RatatuiRuby::Session"
|
|
24
|
-
task :session do
|
|
25
|
-
require_relative "../lib/ratatui_ruby"
|
|
26
|
-
|
|
27
|
-
Autodoc::Rbs.new(
|
|
28
|
-
path: File.expand_path("../sig/ratatui_ruby/session.rbs", __dir__),
|
|
29
|
-
notice: Autodoc::Notice.new("autodoc:rbs:session")
|
|
30
|
-
).write(Autodoc::Inventory.new)
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
namespace :rdoc do
|
|
35
|
-
desc "Generate RDoc autodoc for RatatuiRuby::Session"
|
|
36
|
-
task :session do
|
|
37
|
-
require_relative "../lib/ratatui_ruby"
|
|
38
|
-
|
|
39
|
-
Autodoc::Rdoc.new(
|
|
40
|
-
path: File.expand_path("../lib/ratatui_ruby/session/autodoc.rb", __dir__),
|
|
41
|
-
notice: Autodoc::Notice.new("autodoc:rdoc:session")
|
|
42
|
-
).write(Autodoc::Inventory.new)
|
|
43
|
-
end
|
|
44
|
-
end
|
|
10
|
+
task all: [:examples]
|
|
45
11
|
|
|
46
12
|
desc "Sync code snippets in example READMEs with source files"
|
|
47
13
|
task :examples do
|
data/tasks/bump/changelog.rb
CHANGED
|
@@ -34,4 +34,12 @@ class Changelog
|
|
|
34
34
|
File.write(@path, "#{header}#{UnreleasedSection.fresh}\n\n#{history}\n#{links}")
|
|
35
35
|
nil
|
|
36
36
|
end
|
|
37
|
+
|
|
38
|
+
def commit_message(version)
|
|
39
|
+
content = File.read(@path)
|
|
40
|
+
unreleased = UnreleasedSection.parse(content)
|
|
41
|
+
return nil unless unreleased
|
|
42
|
+
|
|
43
|
+
"chore: release v#{version}\n\n#{unreleased.commit_body}"
|
|
44
|
+
end
|
|
37
45
|
end
|
data/tasks/bump/ruby_gem.rb
CHANGED
|
@@ -17,19 +17,31 @@ class RubyGem
|
|
|
17
17
|
|
|
18
18
|
def bump(segment)
|
|
19
19
|
target = version.next(segment)
|
|
20
|
+
commit_message = @changelog.commit_message(target)
|
|
20
21
|
|
|
21
22
|
puts "Bumping #{segment}: #{version} -> #{target}"
|
|
22
23
|
@changelog.release(target)
|
|
23
24
|
@manifests.each { |manifest| manifest.write(target) }
|
|
24
25
|
@lockfile.refresh
|
|
26
|
+
|
|
27
|
+
puts_commit_message(commit_message)
|
|
25
28
|
end
|
|
26
29
|
|
|
27
30
|
def set(version_string)
|
|
28
31
|
target = SemVer.parse(version_string)
|
|
32
|
+
commit_message = @changelog.commit_message(target)
|
|
29
33
|
|
|
30
34
|
puts "Setting version: #{version} -> #{target}"
|
|
31
35
|
@changelog.release(target)
|
|
32
36
|
@manifests.each { |manifest| manifest.write(target) }
|
|
33
37
|
@lockfile.refresh
|
|
38
|
+
|
|
39
|
+
puts_commit_message(commit_message)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
private def puts_commit_message(message)
|
|
43
|
+
puts "=" * 80
|
|
44
|
+
puts message
|
|
45
|
+
puts "=" * 80
|
|
34
46
|
end
|
|
35
47
|
end
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
5
5
|
|
|
6
6
|
require "date"
|
|
7
|
+
require "rdoc"
|
|
7
8
|
|
|
8
9
|
# UnreleasedSection manages the [Unreleased] section of the changelog.
|
|
9
10
|
class UnreleasedSection
|
|
@@ -35,4 +36,19 @@ class UnreleasedSection
|
|
|
35
36
|
def to_s
|
|
36
37
|
@content
|
|
37
38
|
end
|
|
39
|
+
|
|
40
|
+
def commit_body
|
|
41
|
+
formatter = Class.new { include RDoc::Text }.new
|
|
42
|
+
@content
|
|
43
|
+
.sub(/^## \[Unreleased\].*$/, "")
|
|
44
|
+
.gsub(/^### (Added|Changed|Fixed|Removed)\n*$/, "")
|
|
45
|
+
.gsub(/^- \*\*([^*]+)\*\*:/, '\1:')
|
|
46
|
+
.gsub(/`([^`]+)`/, '\1')
|
|
47
|
+
.strip
|
|
48
|
+
.lines
|
|
49
|
+
.map { |line| line.gsub(/^- /, "").strip }
|
|
50
|
+
.reject(&:empty?)
|
|
51
|
+
.map { |line| formatter.wrap(line, 72) }
|
|
52
|
+
.join("\n\n")
|
|
53
|
+
end
|
|
38
54
|
end
|
data/tasks/sourcehut.rake
CHANGED
|
@@ -65,7 +65,10 @@ namespace :sourcehut do
|
|
|
65
65
|
# This renders a commit SHA that can be pushed to a branch head
|
|
66
66
|
commit_sha = `git rev-parse #{tag_name}^{}`.strip
|
|
67
67
|
|
|
68
|
-
#
|
|
68
|
+
# Update local stable branch to match
|
|
69
|
+
sh "git branch -f stable #{commit_sha}"
|
|
70
|
+
|
|
71
|
+
# Push the commit to remote stable branch
|
|
69
72
|
# This creates 'stable' if it doesn't exist, or fast-forwards it.
|
|
70
73
|
sh "git push origin #{commit_sha}:stable"
|
|
71
74
|
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: 0.
|
|
4
|
+
version: 0.7.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kerrick Long
|
|
@@ -107,24 +107,23 @@ files:
|
|
|
107
107
|
- Rakefile
|
|
108
108
|
- doc/application_architecture.md
|
|
109
109
|
- doc/application_testing.md
|
|
110
|
+
- doc/async.md
|
|
111
|
+
- doc/contributors/architectural_overhaul/chat_conversations.md
|
|
112
|
+
- doc/contributors/architectural_overhaul/implementation_plan.md
|
|
113
|
+
- doc/contributors/architectural_overhaul/task.md
|
|
110
114
|
- doc/contributors/design.md
|
|
111
115
|
- doc/contributors/design/ruby_frontend.md
|
|
112
116
|
- doc/contributors/design/rust_backend.md
|
|
113
117
|
- doc/contributors/developing_examples.md
|
|
114
118
|
- doc/contributors/documentation_style.md
|
|
115
|
-
- doc/contributors/dwim_dx.md
|
|
116
|
-
- doc/contributors/examples_audit.md
|
|
117
|
-
- doc/contributors/examples_audit/p1_high.md
|
|
118
|
-
- doc/contributors/examples_audit/p2_moderate.md
|
|
119
119
|
- doc/contributors/index.md
|
|
120
|
+
- doc/contributors/v1.0.0_blockers.md
|
|
120
121
|
- doc/custom.css
|
|
122
|
+
- doc/debugging.md
|
|
121
123
|
- doc/event_handling.md
|
|
122
124
|
- doc/images/app_all_events.png
|
|
123
|
-
- doc/images/app_analytics.png
|
|
124
125
|
- doc/images/app_color_picker.png
|
|
125
|
-
- doc/images/app_custom_widget.png
|
|
126
126
|
- doc/images/app_login_form.png
|
|
127
|
-
- doc/images/app_mouse_events.png
|
|
128
127
|
- doc/images/app_stateful_interaction.png
|
|
129
128
|
- doc/images/verify_quickstart_dsl.png
|
|
130
129
|
- doc/images/verify_quickstart_layout.png
|
|
@@ -155,13 +154,14 @@ files:
|
|
|
155
154
|
- doc/images/widget_sparkline_demo.png
|
|
156
155
|
- doc/images/widget_style_colors.png
|
|
157
156
|
- doc/images/widget_table_demo.png
|
|
158
|
-
- doc/images/widget_table_flex.png
|
|
159
157
|
- doc/images/widget_tabs_demo.png
|
|
160
158
|
- doc/images/widget_text_width.png
|
|
161
159
|
- doc/index.md
|
|
162
160
|
- doc/interactive_design.md
|
|
163
161
|
- doc/quickstart.md
|
|
164
162
|
- doc/terminal_limitations.md
|
|
163
|
+
- doc/v0.7.0_migration.md
|
|
164
|
+
- doc/why.md
|
|
165
165
|
- examples/app_all_events/README.md
|
|
166
166
|
- examples/app_all_events/app.rb
|
|
167
167
|
- examples/app_all_events/model/app_model.rb
|
|
@@ -226,6 +226,7 @@ files:
|
|
|
226
226
|
- examples/widget_list_demo/app.rb
|
|
227
227
|
- examples/widget_map_demo/README.md
|
|
228
228
|
- examples/widget_map_demo/app.rb
|
|
229
|
+
- examples/widget_overlay_demo/README.md
|
|
229
230
|
- examples/widget_overlay_demo/app.rb
|
|
230
231
|
- examples/widget_popup_demo/README.md
|
|
231
232
|
- examples/widget_popup_demo/app.rb
|
|
@@ -293,6 +294,8 @@ files:
|
|
|
293
294
|
- ext/ratatui_ruby/src/widgets/table_state.rs
|
|
294
295
|
- ext/ratatui_ruby/src/widgets/tabs.rs
|
|
295
296
|
- lib/ratatui_ruby.rb
|
|
297
|
+
- lib/ratatui_ruby/buffer.rb
|
|
298
|
+
- lib/ratatui_ruby/buffer/cell.rb
|
|
296
299
|
- lib/ratatui_ruby/cell.rb
|
|
297
300
|
- lib/ratatui_ruby/event.rb
|
|
298
301
|
- lib/ratatui_ruby/event/focus_gained.rb
|
|
@@ -308,6 +311,10 @@ files:
|
|
|
308
311
|
- lib/ratatui_ruby/event/paste.rb
|
|
309
312
|
- lib/ratatui_ruby/event/resize.rb
|
|
310
313
|
- lib/ratatui_ruby/frame.rb
|
|
314
|
+
- lib/ratatui_ruby/layout.rb
|
|
315
|
+
- lib/ratatui_ruby/layout/constraint.rb
|
|
316
|
+
- lib/ratatui_ruby/layout/layout.rb
|
|
317
|
+
- lib/ratatui_ruby/layout/rect.rb
|
|
311
318
|
- lib/ratatui_ruby/list_state.rb
|
|
312
319
|
- lib/ratatui_ruby/schema/bar_chart.rb
|
|
313
320
|
- lib/ratatui_ruby/schema/bar_chart/bar.rb
|
|
@@ -331,6 +338,7 @@ files:
|
|
|
331
338
|
- lib/ratatui_ruby/schema/ratatui_logo.rb
|
|
332
339
|
- lib/ratatui_ruby/schema/ratatui_mascot.rb
|
|
333
340
|
- lib/ratatui_ruby/schema/rect.rb
|
|
341
|
+
- lib/ratatui_ruby/schema/row.rb
|
|
334
342
|
- lib/ratatui_ruby/schema/scrollbar.rb
|
|
335
343
|
- lib/ratatui_ruby/schema/shape/label.rb
|
|
336
344
|
- lib/ratatui_ruby/schema/sparkline.rb
|
|
@@ -339,8 +347,8 @@ files:
|
|
|
339
347
|
- lib/ratatui_ruby/schema/tabs.rb
|
|
340
348
|
- lib/ratatui_ruby/schema/text.rb
|
|
341
349
|
- lib/ratatui_ruby/scrollbar_state.rb
|
|
342
|
-
- lib/ratatui_ruby/
|
|
343
|
-
- lib/ratatui_ruby/
|
|
350
|
+
- lib/ratatui_ruby/style.rb
|
|
351
|
+
- lib/ratatui_ruby/style/style.rb
|
|
344
352
|
- lib/ratatui_ruby/table_state.rb
|
|
345
353
|
- lib/ratatui_ruby/test_helper.rb
|
|
346
354
|
- lib/ratatui_ruby/test_helper/event_injection.rb
|
|
@@ -348,7 +356,42 @@ files:
|
|
|
348
356
|
- lib/ratatui_ruby/test_helper/style_assertions.rb
|
|
349
357
|
- lib/ratatui_ruby/test_helper/terminal.rb
|
|
350
358
|
- lib/ratatui_ruby/test_helper/test_doubles.rb
|
|
359
|
+
- lib/ratatui_ruby/tui.rb
|
|
360
|
+
- lib/ratatui_ruby/tui/buffer_factories.rb
|
|
361
|
+
- lib/ratatui_ruby/tui/canvas_factories.rb
|
|
362
|
+
- lib/ratatui_ruby/tui/core.rb
|
|
363
|
+
- lib/ratatui_ruby/tui/layout_factories.rb
|
|
364
|
+
- lib/ratatui_ruby/tui/state_factories.rb
|
|
365
|
+
- lib/ratatui_ruby/tui/style_factories.rb
|
|
366
|
+
- lib/ratatui_ruby/tui/text_factories.rb
|
|
367
|
+
- lib/ratatui_ruby/tui/widget_factories.rb
|
|
351
368
|
- lib/ratatui_ruby/version.rb
|
|
369
|
+
- lib/ratatui_ruby/widgets.rb
|
|
370
|
+
- lib/ratatui_ruby/widgets/bar_chart.rb
|
|
371
|
+
- lib/ratatui_ruby/widgets/bar_chart/bar.rb
|
|
372
|
+
- lib/ratatui_ruby/widgets/bar_chart/bar_group.rb
|
|
373
|
+
- lib/ratatui_ruby/widgets/block.rb
|
|
374
|
+
- lib/ratatui_ruby/widgets/calendar.rb
|
|
375
|
+
- lib/ratatui_ruby/widgets/canvas.rb
|
|
376
|
+
- lib/ratatui_ruby/widgets/cell.rb
|
|
377
|
+
- lib/ratatui_ruby/widgets/center.rb
|
|
378
|
+
- lib/ratatui_ruby/widgets/chart.rb
|
|
379
|
+
- lib/ratatui_ruby/widgets/clear.rb
|
|
380
|
+
- lib/ratatui_ruby/widgets/cursor.rb
|
|
381
|
+
- lib/ratatui_ruby/widgets/gauge.rb
|
|
382
|
+
- lib/ratatui_ruby/widgets/line_gauge.rb
|
|
383
|
+
- lib/ratatui_ruby/widgets/list.rb
|
|
384
|
+
- lib/ratatui_ruby/widgets/list_item.rb
|
|
385
|
+
- lib/ratatui_ruby/widgets/overlay.rb
|
|
386
|
+
- lib/ratatui_ruby/widgets/paragraph.rb
|
|
387
|
+
- lib/ratatui_ruby/widgets/ratatui_logo.rb
|
|
388
|
+
- lib/ratatui_ruby/widgets/ratatui_mascot.rb
|
|
389
|
+
- lib/ratatui_ruby/widgets/row.rb
|
|
390
|
+
- lib/ratatui_ruby/widgets/scrollbar.rb
|
|
391
|
+
- lib/ratatui_ruby/widgets/shape/label.rb
|
|
392
|
+
- lib/ratatui_ruby/widgets/sparkline.rb
|
|
393
|
+
- lib/ratatui_ruby/widgets/table.rb
|
|
394
|
+
- lib/ratatui_ruby/widgets/tabs.rb
|
|
352
395
|
- mise.toml
|
|
353
396
|
- sig/examples/app_all_events/app.rbs
|
|
354
397
|
- sig/examples/app_all_events/model/event_entry.rbs
|
|
@@ -414,6 +457,7 @@ files:
|
|
|
414
457
|
- sig/ratatui_ruby/schema/ratatui_logo.rbs
|
|
415
458
|
- sig/ratatui_ruby/schema/ratatui_mascot.rbs
|
|
416
459
|
- sig/ratatui_ruby/schema/rect.rbs
|
|
460
|
+
- sig/ratatui_ruby/schema/row.rbs
|
|
417
461
|
- sig/ratatui_ruby/schema/scrollbar.rbs
|
|
418
462
|
- sig/ratatui_ruby/schema/sparkline.rbs
|
|
419
463
|
- sig/ratatui_ruby/schema/style.rbs
|
|
@@ -429,15 +473,20 @@ files:
|
|
|
429
473
|
- sig/ratatui_ruby/test_helper/style_assertions.rbs
|
|
430
474
|
- sig/ratatui_ruby/test_helper/terminal.rbs
|
|
431
475
|
- sig/ratatui_ruby/test_helper/test_doubles.rbs
|
|
476
|
+
- sig/ratatui_ruby/tui.rbs
|
|
477
|
+
- sig/ratatui_ruby/tui/buffer_factories.rbs
|
|
478
|
+
- sig/ratatui_ruby/tui/canvas_factories.rbs
|
|
479
|
+
- sig/ratatui_ruby/tui/core.rbs
|
|
480
|
+
- sig/ratatui_ruby/tui/layout_factories.rbs
|
|
481
|
+
- sig/ratatui_ruby/tui/state_factories.rbs
|
|
482
|
+
- sig/ratatui_ruby/tui/style_factories.rbs
|
|
483
|
+
- sig/ratatui_ruby/tui/text_factories.rbs
|
|
484
|
+
- sig/ratatui_ruby/tui/widget_factories.rbs
|
|
432
485
|
- sig/ratatui_ruby/version.rbs
|
|
433
486
|
- tasks/autodoc.rake
|
|
434
487
|
- tasks/autodoc/examples.rb
|
|
435
|
-
- tasks/autodoc/inventory.rb
|
|
436
488
|
- tasks/autodoc/member.rb
|
|
437
489
|
- tasks/autodoc/name.rb
|
|
438
|
-
- tasks/autodoc/notice.rb
|
|
439
|
-
- tasks/autodoc/rbs.rb
|
|
440
|
-
- tasks/autodoc/rdoc.rb
|
|
441
490
|
- tasks/bump.rake
|
|
442
491
|
- tasks/bump/cargo_lockfile.rb
|
|
443
492
|
- tasks/bump/changelog.rb
|