ratatui_ruby 1.1.0 → 1.1.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.
Files changed (259) hide show
  1. checksums.yaml +4 -4
  2. data/ext/ratatui_ruby/Cargo.lock +1 -1
  3. data/ext/ratatui_ruby/Cargo.toml +1 -1
  4. data/lib/ratatui_ruby/version.rb +1 -1
  5. metadata +1 -255
  6. data/.builds/ruby-3.2.yml +0 -54
  7. data/.builds/ruby-3.3.yml +0 -54
  8. data/.builds/ruby-3.4.yml +0 -54
  9. data/.builds/ruby-4.0.0.yml +0 -54
  10. data/.pre-commit-config.yaml +0 -16
  11. data/.rubocop.yml +0 -10
  12. data/AGENTS.md +0 -147
  13. data/CHANGELOG.md +0 -736
  14. data/README.md +0 -187
  15. data/README.rdoc +0 -302
  16. data/Rakefile +0 -11
  17. data/Steepfile +0 -50
  18. data/doc/concepts/application_architecture.md +0 -321
  19. data/doc/concepts/application_testing.md +0 -193
  20. data/doc/concepts/async.md +0 -190
  21. data/doc/concepts/custom_widgets.md +0 -247
  22. data/doc/concepts/debugging.md +0 -401
  23. data/doc/concepts/event_handling.md +0 -162
  24. data/doc/concepts/interactive_design.md +0 -146
  25. data/doc/contributors/auditing/parity.md +0 -239
  26. data/doc/contributors/design/ruby_frontend.md +0 -448
  27. data/doc/contributors/design/rust_backend.md +0 -434
  28. data/doc/contributors/design.md +0 -11
  29. data/doc/contributors/developing_examples.md +0 -400
  30. data/doc/contributors/documentation_style.md +0 -121
  31. data/doc/contributors/index.md +0 -21
  32. data/doc/contributors/releasing.md +0 -215
  33. data/doc/contributors/todo/align/api_completeness_audit-finished.md +0 -381
  34. data/doc/contributors/todo/align/api_completeness_audit-unfinished.md +0 -200
  35. data/doc/contributors/todo/align/term.md +0 -351
  36. data/doc/contributors/todo/align/terminal.md +0 -647
  37. data/doc/contributors/todo/future_work.md +0 -169
  38. data/doc/contributors/upstream_requests/paragraph_span_rects.md +0 -259
  39. data/doc/contributors/upstream_requests/tab_rects.md +0 -173
  40. data/doc/contributors/upstream_requests/title_rects.md +0 -132
  41. data/doc/custom.css +0 -22
  42. data/doc/getting_started/quickstart.md +0 -291
  43. data/doc/getting_started/why.md +0 -93
  44. data/doc/images/app_all_events.png +0 -0
  45. data/doc/images/app_cli_rich_moments.gif +0 -0
  46. data/doc/images/app_color_picker.png +0 -0
  47. data/doc/images/app_debugging_showcase.gif +0 -0
  48. data/doc/images/app_debugging_showcase.png +0 -0
  49. data/doc/images/app_external_editor.gif +0 -0
  50. data/doc/images/app_login_form.png +0 -0
  51. data/doc/images/app_stateful_interaction.png +0 -0
  52. data/doc/images/verify_quickstart_dsl.png +0 -0
  53. data/doc/images/verify_quickstart_layout.png +0 -0
  54. data/doc/images/verify_quickstart_lifecycle.png +0 -0
  55. data/doc/images/verify_readme_usage.png +0 -0
  56. data/doc/images/widget_barchart.png +0 -0
  57. data/doc/images/widget_block.png +0 -0
  58. data/doc/images/widget_box.png +0 -0
  59. data/doc/images/widget_calendar.png +0 -0
  60. data/doc/images/widget_canvas.png +0 -0
  61. data/doc/images/widget_cell.png +0 -0
  62. data/doc/images/widget_center.png +0 -0
  63. data/doc/images/widget_chart.png +0 -0
  64. data/doc/images/widget_gauge.png +0 -0
  65. data/doc/images/widget_layout_split.png +0 -0
  66. data/doc/images/widget_line_gauge.png +0 -0
  67. data/doc/images/widget_list.png +0 -0
  68. data/doc/images/widget_map.png +0 -0
  69. data/doc/images/widget_overlay.png +0 -0
  70. data/doc/images/widget_popup.png +0 -0
  71. data/doc/images/widget_ratatui_logo.png +0 -0
  72. data/doc/images/widget_ratatui_mascot.png +0 -0
  73. data/doc/images/widget_rect.png +0 -0
  74. data/doc/images/widget_render.png +0 -0
  75. data/doc/images/widget_rich_text.png +0 -0
  76. data/doc/images/widget_scroll_text.png +0 -0
  77. data/doc/images/widget_scrollbar.png +0 -0
  78. data/doc/images/widget_sparkline.png +0 -0
  79. data/doc/images/widget_style_colors.png +0 -0
  80. data/doc/images/widget_table.png +0 -0
  81. data/doc/images/widget_tabs.png +0 -0
  82. data/doc/images/widget_text_width.png +0 -0
  83. data/doc/index.md +0 -34
  84. data/doc/troubleshooting/async.md +0 -4
  85. data/doc/troubleshooting/terminal_limitations.md +0 -131
  86. data/doc/troubleshooting/tui_output.md +0 -197
  87. data/examples/app_all_events/README.md +0 -114
  88. data/examples/app_all_events/app.rb +0 -98
  89. data/examples/app_all_events/model/app_model.rb +0 -159
  90. data/examples/app_all_events/model/event_color_cycle.rb +0 -43
  91. data/examples/app_all_events/model/event_entry.rb +0 -94
  92. data/examples/app_all_events/model/msg.rb +0 -39
  93. data/examples/app_all_events/model/timestamp.rb +0 -56
  94. data/examples/app_all_events/update.rb +0 -75
  95. data/examples/app_all_events/view/app_view.rb +0 -80
  96. data/examples/app_all_events/view/controls_view.rb +0 -54
  97. data/examples/app_all_events/view/counts_view.rb +0 -61
  98. data/examples/app_all_events/view/live_view.rb +0 -72
  99. data/examples/app_all_events/view/log_view.rb +0 -57
  100. data/examples/app_all_events/view.rb +0 -9
  101. data/examples/app_cli_rich_moments/README.md +0 -81
  102. data/examples/app_cli_rich_moments/app.rb +0 -189
  103. data/examples/app_color_picker/README.md +0 -156
  104. data/examples/app_color_picker/app.rb +0 -76
  105. data/examples/app_color_picker/clipboard.rb +0 -86
  106. data/examples/app_color_picker/color.rb +0 -193
  107. data/examples/app_color_picker/controls.rb +0 -92
  108. data/examples/app_color_picker/copy_dialog.rb +0 -168
  109. data/examples/app_color_picker/export_pane.rb +0 -128
  110. data/examples/app_color_picker/harmony.rb +0 -58
  111. data/examples/app_color_picker/input.rb +0 -176
  112. data/examples/app_color_picker/main_container.rb +0 -180
  113. data/examples/app_color_picker/palette.rb +0 -111
  114. data/examples/app_debugging_showcase/README.md +0 -119
  115. data/examples/app_debugging_showcase/app.rb +0 -318
  116. data/examples/app_external_editor/README.md +0 -62
  117. data/examples/app_external_editor/app.rb +0 -344
  118. data/examples/app_login_form/README.md +0 -58
  119. data/examples/app_login_form/app.rb +0 -109
  120. data/examples/app_stateful_interaction/README.md +0 -35
  121. data/examples/app_stateful_interaction/app.rb +0 -328
  122. data/examples/timeout_demo.rb +0 -45
  123. data/examples/verify_quickstart_dsl/README.md +0 -55
  124. data/examples/verify_quickstart_dsl/app.rb +0 -49
  125. data/examples/verify_quickstart_layout/README.md +0 -77
  126. data/examples/verify_quickstart_layout/app.rb +0 -73
  127. data/examples/verify_quickstart_lifecycle/README.md +0 -68
  128. data/examples/verify_quickstart_lifecycle/app.rb +0 -62
  129. data/examples/verify_readme_usage/README.md +0 -49
  130. data/examples/verify_readme_usage/app.rb +0 -42
  131. data/examples/verify_website_managed/README.md +0 -48
  132. data/examples/verify_website_managed/app.rb +0 -36
  133. data/examples/verify_website_menu/README.md +0 -60
  134. data/examples/verify_website_menu/app.rb +0 -84
  135. data/examples/verify_website_spinner/README.md +0 -44
  136. data/examples/verify_website_spinner/app.rb +0 -34
  137. data/examples/widget_barchart/README.md +0 -58
  138. data/examples/widget_barchart/app.rb +0 -240
  139. data/examples/widget_block/README.md +0 -44
  140. data/examples/widget_block/app.rb +0 -258
  141. data/examples/widget_box/README.md +0 -54
  142. data/examples/widget_box/app.rb +0 -255
  143. data/examples/widget_calendar/README.md +0 -48
  144. data/examples/widget_calendar/app.rb +0 -115
  145. data/examples/widget_canvas/README.md +0 -31
  146. data/examples/widget_canvas/app.rb +0 -130
  147. data/examples/widget_cell/README.md +0 -45
  148. data/examples/widget_cell/app.rb +0 -112
  149. data/examples/widget_center/README.md +0 -33
  150. data/examples/widget_center/app.rb +0 -118
  151. data/examples/widget_chart/README.md +0 -50
  152. data/examples/widget_chart/app.rb +0 -220
  153. data/examples/widget_gauge/README.md +0 -50
  154. data/examples/widget_gauge/app.rb +0 -229
  155. data/examples/widget_layout_split/README.md +0 -53
  156. data/examples/widget_layout_split/app.rb +0 -260
  157. data/examples/widget_line_gauge/README.md +0 -50
  158. data/examples/widget_line_gauge/app.rb +0 -219
  159. data/examples/widget_list/README.md +0 -58
  160. data/examples/widget_list/app.rb +0 -382
  161. data/examples/widget_map/README.md +0 -48
  162. data/examples/widget_map/app.rb +0 -95
  163. data/examples/widget_overlay/README.md +0 -45
  164. data/examples/widget_overlay/app.rb +0 -250
  165. data/examples/widget_popup/README.md +0 -45
  166. data/examples/widget_popup/app.rb +0 -106
  167. data/examples/widget_ratatui_logo/README.md +0 -43
  168. data/examples/widget_ratatui_logo/app.rb +0 -104
  169. data/examples/widget_ratatui_mascot/README.md +0 -43
  170. data/examples/widget_ratatui_mascot/app.rb +0 -95
  171. data/examples/widget_rect/README.md +0 -53
  172. data/examples/widget_rect/app.rb +0 -222
  173. data/examples/widget_render/README.md +0 -46
  174. data/examples/widget_render/app.rb +0 -186
  175. data/examples/widget_render/app.rbs +0 -41
  176. data/examples/widget_rich_text/README.md +0 -44
  177. data/examples/widget_rich_text/app.rb +0 -193
  178. data/examples/widget_scroll_text/README.md +0 -46
  179. data/examples/widget_scroll_text/app.rb +0 -109
  180. data/examples/widget_scrollbar/README.md +0 -46
  181. data/examples/widget_scrollbar/app.rb +0 -155
  182. data/examples/widget_sparkline/README.md +0 -51
  183. data/examples/widget_sparkline/app.rb +0 -277
  184. data/examples/widget_style_colors/README.md +0 -43
  185. data/examples/widget_style_colors/app.rb +0 -83
  186. data/examples/widget_table/README.md +0 -57
  187. data/examples/widget_table/app.rb +0 -285
  188. data/examples/widget_tabs/README.md +0 -50
  189. data/examples/widget_tabs/app.rb +0 -183
  190. data/examples/widget_text_width/README.md +0 -44
  191. data/examples/widget_text_width/app.rb +0 -117
  192. data/migrate_to_buffer.rb +0 -145
  193. data/mise.toml +0 -8
  194. data/tasks/autodoc/examples.rb +0 -87
  195. data/tasks/autodoc/member.rb +0 -58
  196. data/tasks/autodoc/name.rb +0 -21
  197. data/tasks/autodoc.rake +0 -21
  198. data/tasks/bump/bump_workflow.rb +0 -49
  199. data/tasks/bump/cargo_lockfile.rb +0 -21
  200. data/tasks/bump/changelog.rb +0 -104
  201. data/tasks/bump/header.rb +0 -32
  202. data/tasks/bump/history.rb +0 -32
  203. data/tasks/bump/links.rb +0 -69
  204. data/tasks/bump/manifest.rb +0 -33
  205. data/tasks/bump/patch_release.rb +0 -19
  206. data/tasks/bump/release_branch.rb +0 -17
  207. data/tasks/bump/release_from_trunk.rb +0 -49
  208. data/tasks/bump/repository.rb +0 -54
  209. data/tasks/bump/ruby_gem.rb +0 -29
  210. data/tasks/bump/sem_ver.rb +0 -44
  211. data/tasks/bump/unreleased_section.rb +0 -73
  212. data/tasks/bump.rake +0 -61
  213. data/tasks/doc/documentation.rb +0 -59
  214. data/tasks/doc/link/file_url.rb +0 -30
  215. data/tasks/doc/link/relative_path.rb +0 -61
  216. data/tasks/doc/link/web_url.rb +0 -55
  217. data/tasks/doc/link.rb +0 -52
  218. data/tasks/doc/link_audit.rb +0 -116
  219. data/tasks/doc/problem.rb +0 -40
  220. data/tasks/doc/source_file.rb +0 -93
  221. data/tasks/doc.rake +0 -905
  222. data/tasks/example_viewer.html.erb +0 -172
  223. data/tasks/extension.rake +0 -14
  224. data/tasks/license/headers_md.rb +0 -223
  225. data/tasks/license/headers_rb.rb +0 -210
  226. data/tasks/license/license_utils.rb +0 -130
  227. data/tasks/license/snippets_md.rb +0 -315
  228. data/tasks/license/snippets_rdoc.rb +0 -150
  229. data/tasks/license.rake +0 -91
  230. data/tasks/lint.rake +0 -170
  231. data/tasks/rbs_predicates/predicate_catalog.rb +0 -52
  232. data/tasks/rbs_predicates/predicate_tests.rb +0 -124
  233. data/tasks/rbs_predicates/rbs_signature.rb +0 -63
  234. data/tasks/rbs_predicates.rake +0 -31
  235. data/tasks/rdoc_config.rb +0 -29
  236. data/tasks/resources/build.yml.erb +0 -60
  237. data/tasks/resources/index.html.erb +0 -141
  238. data/tasks/resources/rubies.yml +0 -7
  239. data/tasks/sourcehut.rake +0 -110
  240. data/tasks/steep.rake +0 -11
  241. data/tasks/terminal_preview/app_screenshot.rb +0 -45
  242. data/tasks/terminal_preview/crash_report.rb +0 -54
  243. data/tasks/terminal_preview/example_app.rb +0 -27
  244. data/tasks/terminal_preview/launcher_script.rb +0 -48
  245. data/tasks/terminal_preview/preview_collection.rb +0 -60
  246. data/tasks/terminal_preview/preview_timing.rb +0 -24
  247. data/tasks/terminal_preview/safety_confirmation.rb +0 -58
  248. data/tasks/terminal_preview/saved_screenshot.rb +0 -56
  249. data/tasks/terminal_preview/system_appearance.rb +0 -13
  250. data/tasks/terminal_preview/terminal_window.rb +0 -138
  251. data/tasks/terminal_preview/window_id.rb +0 -16
  252. data/tasks/terminal_preview.rake +0 -30
  253. data/tasks/test.rake +0 -36
  254. data/tasks/website/index_page.rb +0 -30
  255. data/tasks/website/version.rb +0 -122
  256. data/tasks/website/version_menu.rb +0 -68
  257. data/tasks/website/versioned_documentation.rb +0 -83
  258. data/tasks/website/website.rb +0 -53
  259. data/tasks/website.rake +0 -28
@@ -1,215 +0,0 @@
1
- <!--
2
- SPDX-FileCopyrightText: 2026 Kerrick Long <me@kerricklong.com>
3
- SPDX-License-Identifier: CC-BY-SA-4.0
4
- -->
5
-
6
- # Releasing
7
-
8
- This guide documents RatatuiRuby's release workflow. We use
9
- [trunk-based development](https://trunkbaseddevelopment.com/committing-straight-to-the-trunk/)
10
- with [release branches](https://trunkbaseddevelopment.com/branch-for-release/).
11
-
12
- ## Overview
13
-
14
- - **`trunk`** — Active development. Features land here first.
15
- - **`release/X.Y`** — Release series branches (e.g., `release/1.0`).
16
- - **`stable`** — Always points to the latest stable release.
17
-
18
- <!-- SPDX-SnippetBegin -->
19
- <!--
20
- SPDX-FileCopyrightText: 2026 Kerrick Long
21
- SPDX-License-Identifier: MIT-0
22
- -->
23
- ```
24
- trunk ──●──●──●──●──●──●──●──●──●── (future work)
25
- \ \
26
- release/1.0 ───●──●──● \ (1.0.0, 1.0.1, ...)
27
- \
28
- release/1.1 ●──●──●── (1.1.0, 1.1.1, ...)
29
- ```
30
- <!-- SPDX-SnippetEnd -->
31
-
32
- ## Versioning Philosophy
33
-
34
- We follow strict SemVer without ceremony:
35
-
36
- - **Breaking change?** → Bump major
37
- - **New feature?** → Bump minor
38
- - **Bug fix?** → Bump patch
39
-
40
- Version numbers are technical artifacts, not marketing. If we end up at v50 by
41
- year's end, so be it.
42
-
43
- ## Changelog Management
44
-
45
- Trunk maintains the canonical project history. Each release branch maintains
46
- its own changelog during development, then syncs back to trunk.
47
-
48
- ### During Beta/RC Cycles
49
-
50
- The release branch (`release/1.0`) tracks granular changes:
51
-
52
- <!-- SPDX-SnippetBegin -->
53
- <!--
54
- SPDX-FileCopyrightText: 2026 Kerrick Long
55
- SPDX-License-Identifier: MIT-0
56
- -->
57
- ```markdown
58
- ## [Unreleased]
59
-
60
- ## [1.0.0-beta.2] - 2026-01-20
61
- ### Fixed
62
- - TableState row navigation methods
63
-
64
- ## [1.0.0-beta.1] - 2026-01-20
65
- - Initial 1.0 beta release
66
- ```
67
- <!-- SPDX-SnippetEnd -->
68
-
69
- Trunk's `[Unreleased]` section accumulates features for the next minor:
70
-
71
- <!-- SPDX-SnippetBegin -->
72
- <!--
73
- SPDX-FileCopyrightText: 2026 Kerrick Long
74
- SPDX-License-Identifier: MIT-0
75
- -->
76
- ```markdown
77
- ## [Unreleased]
78
- ### Added
79
- - Terminal Capability Detection
80
-
81
- ### Fixed
82
- - TableState row navigation methods
83
- ```
84
- <!-- SPDX-SnippetEnd -->
85
-
86
- The fix appears in both places. This is correct — both branches contain it.
87
-
88
- ### When Final Ships
89
-
90
- When `1.0.0` final releases, **consolidate** all beta entries into one section
91
- on both branches:
92
-
93
- **release/1.0:**
94
- <!-- SPDX-SnippetBegin -->
95
- <!--
96
- SPDX-FileCopyrightText: 2026 Kerrick Long
97
- SPDX-License-Identifier: MIT-0
98
- -->
99
- ```markdown
100
- ## [1.0.0] - 2026-xx-xx
101
- ### Fixed
102
- - TableState row navigation methods
103
-
104
- ## [0.10.3] - 2026-01-16
105
- ...
106
- ```
107
- <!-- SPDX-SnippetEnd -->
108
-
109
- **trunk (synced):**
110
- <!-- SPDX-SnippetBegin -->
111
- <!--
112
- SPDX-FileCopyrightText: 2026 Kerrick Long
113
- SPDX-License-Identifier: MIT-0
114
- -->
115
- ```markdown
116
- ## [Unreleased]
117
- ### Added
118
- - Terminal Capability Detection
119
-
120
- ## [1.0.0] - 2026-xx-xx
121
- ### Fixed
122
- - TableState row navigation methods
123
-
124
- ## [0.10.3] - 2026-01-16
125
- ...
126
- ```
127
- <!-- SPDX-SnippetEnd -->
128
-
129
- The beta granularity served its purpose during testing. Git tags preserve the
130
- detailed history.
131
-
132
- ## Release Workflows
133
-
134
- ### Bugfix (Patch) Release
135
-
136
- For bugs affecting a released version:
137
-
138
- 1. **Fix on trunk first** — All bugs get fixed on trunk.
139
- 2. **Cherry-pick to release branch** with provenance:
140
- ```bash
141
- git checkout release/1.0
142
- git cherry-pick -x <commit> # -x adds "cherry picked from" trailer
143
- ```
144
- 3. **Update the changelog** on the release branch.
145
- 4. **Bump and release:**
146
- ```bash
147
- bundle exec rake bump:patch
148
- bundle exec rake release
149
- ```
150
-
151
- ### New Version (Major/Minor)
152
-
153
- When trunk is ready for a new release series:
154
-
155
- 1. **Decide version** based on changes:
156
- - Breaking changes → Major (2.0.0)
157
- - New features only → Minor (1.1.0)
158
-
159
- 2. **Create release branch:**
160
- ```bash
161
- git checkout trunk
162
- git checkout -b release/1.1 # or release/2.0
163
- ```
164
-
165
- 3. **Release from the branch:**
166
- ```bash
167
- bundle exec rake bump:exact[1.1.0-beta.1]
168
- bundle exec rake release
169
- ```
170
-
171
- 4. **Bump trunk** to the next dev version if desired.
172
-
173
- 5. **Iterate** through betas/RCs as needed, then ship final.
174
-
175
- 6. **Sync changelog** — When final ships, add the consolidated section to trunk.
176
-
177
- ### Prerelease Notes
178
-
179
- RubyGems normalizes prerelease versions. Our `rake release` task automatically:
180
-
181
- 1. Lets Bundler create the normalized tag (e.g., `v1.0.0.pre.beta.1`)
182
- 2. Deletes it locally and remotely
183
- 3. Creates the SemVer tag (e.g., `v1.0.0-beta.1`) and pushes it
184
-
185
- This keeps our Git tags strictly SemVer-compliant.
186
-
187
- ## Commands Reference
188
-
189
- <!-- SPDX-SnippetBegin -->
190
- <!--
191
- SPDX-FileCopyrightText: 2026 Kerrick Long
192
- SPDX-License-Identifier: MIT-0
193
- -->
194
- ```bash
195
- # Bump version
196
- bundle exec rake bump:patch # 1.0.0 → 1.0.1
197
- bundle exec rake bump:minor # 1.0.0 → 1.1.0
198
- bundle exec rake bump:major # 1.0.0 → 2.0.0
199
- bundle exec rake bump:exact[1.0.0-beta.1]
200
-
201
- # Release (builds, tags, pushes gem, updates stable branch)
202
- bundle exec rake release
203
-
204
- # Watch builds
205
- bin/hbs # Wait for SourceHut builds
206
- bin/hbs && bundle exec rake release # Release only if builds pass
207
- ```
208
- <!-- SPDX-SnippetEnd -->
209
-
210
- ## Further Reading
211
-
212
- - [Trunk-Based Development](https://trunkbaseddevelopment.com/)
213
- - [Branch for Release](https://trunkbaseddevelopment.com/branch-for-release/)
214
- - [SemVer Specification](https://semver.org/)
215
- - [Keep a Changelog](https://keepachangelog.com/)
@@ -1,381 +0,0 @@
1
- <!--
2
- SPDX-FileCopyrightText: 2026 Kerrick Long <me@kerricklong.com>
3
-
4
- SPDX-License-Identifier: CC-BY-SA-4.0
5
- -->
6
-
7
- # Ratatui Features Audit - Complete Comprehensive Catalog
8
-
9
- These documents catalog EVERY public feature, method, function, enum variant, and constructor in the Ratatui Rust library with precise file/line references. This has the finished items; [the other has the unfinished items](./api_completeness_audit-unfinished.md).
10
-
11
- ## Terminal & Initialization Features
12
-
13
- | Feature Name | File/Line | Status |
14
- |--------------|-----------|--------|
15
- | run | ratatui/src/init.rs:251 | ✅ |
16
- | init | ratatui/src/init.rs:298 | ✅ |
17
- | init_with_options | ratatui/src/init.rs:382 | ✅ |
18
- | restore | ratatui/src/init.rs:457 | ✅ |
19
- | Viewport::Fullscreen | ratatui-core/src/terminal/viewport.rs:22 | ✅ |
20
- | Viewport::Inline(u16) | ratatui-core/src/terminal/viewport.rs:28 | ✅ |
21
- | Terminal::draw | ratatui-core/src/terminal/terminal.rs:373 | ✅ |
22
- | Terminal::size | ratatui-core/src/terminal/terminal.rs:568 | ✅ |
23
- | Terminal::insert_before | ratatui-core/src/terminal/terminal.rs:648 | ✅ |
24
- | TerminalOptions struct | ratatui-core/src/terminal/terminal.rs:104 | ✅ |
25
- | Frame struct | ratatui-core/src/terminal/frame.rs:17 | ✅ |
26
- | Frame::render_widget | ratatui-core/src/terminal/frame.rs:93 | ✅ |
27
- | Frame::render_stateful_widget | ratatui-core/src/terminal/frame.rs:124 | ✅ |
28
- | Frame::set_cursor_position | ratatui-core/src/terminal/frame.rs:141 | ✅ |
29
-
30
-
31
- ## Layout Features
32
-
33
- | Feature Name | File/Line | Status |
34
- |--------------|-----------|--------|
35
- | Layout struct | ratatui-core/src/layout/layout.rs:193 | ✅ |
36
- | Layout::horizontal | ratatui-core/src/layout/layout.rs:285 | ✅ |
37
- | Layout::vertical | ratatui-core/src/layout/layout.rs:265 | ✅ |
38
- | Layout::constraints | ratatui-core/src/layout/layout.rs:377 | ✅ |
39
- | Layout::spacing | ratatui-core/src/layout/layout.rs:521 | ✅ |
40
- | Layout::split | ratatui-core/src/layout/layout.rs:663 | ✅ |
41
- | Layout::split_with_spacers | ratatui-core/src/layout/layout.rs:713 | ✅ |
42
- | Constraint::Min(u16) | ratatui-core/src/layout/constraint.rs:94 | ✅ |
43
- | Constraint::Max(u16) | ratatui-core/src/layout/constraint.rs:117 | ✅ |
44
- | Constraint::Length(u16) | ratatui-core/src/layout/constraint.rs:140 | ✅ |
45
- | Constraint::Percentage(u16) | ratatui-core/src/layout/constraint.rs:168 | ✅ |
46
- | Constraint::Ratio(u32, u32) | ratatui-core/src/layout/constraint.rs:192 | ✅ |
47
- | Constraint::Fill(u16) | ratatui-core/src/layout/constraint.rs:218 | ✅ |
48
- | Constraint::from_lengths | ratatui-core/src/layout/constraint.rs:230 | ✅ |
49
- | Constraint::from_ratios | ratatui-core/src/layout/constraint.rs:254 | ✅ |
50
- | Constraint::from_percentages | ratatui-core/src/layout/constraint.rs:277 | ✅ |
51
- | Constraint::from_maxes | ratatui-core/src/layout/constraint.rs:300 | ✅ |
52
- | Constraint::from_mins | ratatui-core/src/layout/constraint.rs:320 | ✅ |
53
- | Constraint::from_fills | ratatui-core/src/layout/constraint.rs:341 | ✅ |
54
- | Flex::Legacy | ratatui-core/src/layout/flex.rs:75 | ✅ |
55
- | Flex::Start | ratatui-core/src/layout/flex.rs:98 | ✅ |
56
- | Flex::End | ratatui-core/src/layout/flex.rs:120 | ✅ |
57
- | Flex::Center | ratatui-core/src/layout/flex.rs:142 | ✅ |
58
- | Flex::SpaceBetween | ratatui-core/src/layout/flex.rs:164 | ✅ |
59
- | Flex::SpaceEvenly | ratatui-core/src/layout/flex.rs:187 | ✅ |
60
- | Flex::SpaceAround | ratatui-core/src/layout/flex.rs:209 | ✅ |
61
- | Direction::Horizontal | ratatui-core/src/layout/direction.rs:16 | ✅ |
62
- | Direction::Vertical | ratatui-core/src/layout/direction.rs:20 | ✅ |
63
- | Position struct | ratatui-core/src/layout/position.rs:57 | ✅ |
64
- | Size struct | ratatui-core/src/layout/size.rs:46 | ✅ |
65
- | HorizontalAlignment::Left | ratatui-core/src/layout/alignment.rs:25 | ✅ |
66
- | HorizontalAlignment::Center | ratatui-core/src/layout/alignment.rs:26 | ✅ |
67
- | HorizontalAlignment::Right | ratatui-core/src/layout/alignment.rs:27 | ✅ |
68
- | VerticalAlignment::Top | ratatui-core/src/layout/alignment.rs:40 | ✅ |
69
- | VerticalAlignment::Center | ratatui-core/src/layout/alignment.rs:41 | ✅ |
70
- | VerticalAlignment::Bottom | ratatui-core/src/layout/alignment.rs:42 | ✅ |
71
- | Rect struct | ratatui-core/src/layout/rect.rs:134 | ✅ |
72
- | Rect::new | ratatui-core/src/layout/rect.rs:166 | ✅ |
73
- | Rect::area | ratatui-core/src/layout/rect.rs:190 | ✅ |
74
- | Rect::is_empty | ratatui-core/src/layout/rect.rs:195 | ✅ |
75
- | Rect::left | ratatui-core/src/layout/rect.rs:200 | ✅ |
76
- | Rect::right | ratatui-core/src/layout/rect.rs:205 | ✅ |
77
- | Rect::top | ratatui-core/src/layout/rect.rs:214 | ✅ |
78
- | Rect::bottom | ratatui-core/src/layout/rect.rs:219 | ✅ |
79
- | Rect::inner | ratatui-core/src/layout/rect.rs:228 | ✅ |
80
- | Rect::outer | ratatui-core/src/layout/rect.rs:248 | ✅ |
81
- | Rect::offset | ratatui-core/src/layout/rect.rs:276 | ✅ |
82
- | Rect::resize | ratatui-core/src/layout/rect.rs:289 | ✅ |
83
- | Rect::union | ratatui-core/src/layout/rect.rs:305 | ✅ |
84
- | Rect::intersection | ratatui-core/src/layout/rect.rs:322 | ✅ |
85
- | Rect::clamp | ratatui-core/src/layout/rect.rs:387 | ✅ |
86
- | Rect::rows | ratatui-core/src/layout/rect/iter.rs:4 | ✅ |
87
- | Rect::columns | ratatui-core/src/layout/rect/iter.rs:66 | ✅ |
88
- | Rect::positions | ratatui-core/src/layout/rect/iter.rs:130 | ✅ |
89
-
90
- ## Style Features
91
-
92
- | Feature Name | File/Line | Status |
93
- |--------------|-----------|--------|
94
- | Color::Reset | ratatui-core/src/style/color.rs:30 | ✅ |
95
- | Color::Black | ratatui-core/src/style/color.rs:32 | ✅ |
96
- | Color::Red | ratatui-core/src/style/color.rs:34 | ✅ |
97
- | Color::Green | ratatui-core/src/style/color.rs:36 | ✅ |
98
- | Color::Yellow | ratatui-core/src/style/color.rs:38 | ✅ |
99
- | Color::Blue | ratatui-core/src/style/color.rs:40 | ✅ |
100
- | Color::Magenta | ratatui-core/src/style/color.rs:42 | ✅ |
101
- | Color::Cyan | ratatui-core/src/style/color.rs:44 | ✅ |
102
- | Color::Gray | ratatui-core/src/style/color.rs:46 | ✅ |
103
- | Color::DarkGray | ratatui-core/src/style/color.rs:48 | ✅ |
104
- | Color::LightRed | ratatui-core/src/style/color.rs:50 | ✅ |
105
- | Color::LightGreen | ratatui-core/src/style/color.rs:52 | ✅ |
106
- | Color::LightYellow | ratatui-core/src/style/color.rs:54 | ✅ |
107
- | Color::LightBlue | ratatui-core/src/style/color.rs:56 | ✅ |
108
- | Color::LightMagenta | ratatui-core/src/style/color.rs:58 | ✅ |
109
- | Color::LightCyan | ratatui-core/src/style/color.rs:60 | ✅ |
110
- | Color::White | ratatui-core/src/style/color.rs:62 | ✅ |
111
- | Color::Rgb(u8, u8, u8) | ratatui-core/src/style/color.rs:64 | ✅ |
112
- | Color::Indexed(u8) | ratatui-core/src/style/color.rs:66 | ✅ |
113
- | Color::from_u32 | ratatui-core/src/style/color.rs:133 | ✅ |
114
- | Color::from_hsl | ratatui-core/src/style/color.rs:416 | ✅ |
115
- | Color::from_hsluv | ratatui-core/src/style/color.rs:469 | ✅ |
116
- | Style struct | ratatui-core/src/style.rs:239 | ✅ |
117
- | Style::fg | ratatui-core/src/style.rs:335 | ✅ |
118
- | Style::bg | ratatui-core/src/style.rs:352 | ✅ |
119
- | Style::underline_color | ratatui-core/src/style.rs:387 | ✅ |
120
- | Style::add_modifier | ratatui-core/src/style.rs:408 | ✅ |
121
- | Style::remove_modifier | ratatui-core/src/style.rs:430 | ✅ |
122
- | Modifier::BOLD | ratatui-core/src/style.rs:105 | ✅ |
123
- | Modifier::DIM | ratatui-core/src/style.rs:106 | ✅ |
124
- | Modifier::ITALIC | ratatui-core/src/style.rs:107 | ✅ |
125
- | Modifier::UNDERLINED | ratatui-core/src/style.rs:108 | ✅ |
126
- | Modifier::SLOW_BLINK | ratatui-core/src/style.rs:109 | ✅ |
127
- | Modifier::RAPID_BLINK | ratatui-core/src/style.rs:110 | ✅ |
128
- | Modifier::REVERSED | ratatui-core/src/style.rs:111 | ✅ |
129
- | Modifier::HIDDEN | ratatui-core/src/style.rs:112 | ✅ |
130
- | Modifier::CROSSED_OUT | ratatui-core/src/style.rs:113 | ✅ |
131
-
132
- ## Text Features
133
-
134
- | Feature Name | File/Line | Status |
135
- |--------------|-----------| -------|
136
- | Text struct | ratatui-core/src/text/text.rs:196 | ✅ |
137
- | Span struct | ratatui-core/src/text/span.rs:99 | ✅ |
138
- | Line struct | ratatui-core/src/text/line.rs:183 | ✅ |
139
-
140
- ## Symbol Sets
141
-
142
- | Feature Name | File/Line | Status |
143
- |--------------|-----------|--------|
144
- | half_block::UPPER | ratatui-core/src/symbols/half_block.rs:1 | ✅ |
145
- | half_block::LOWER | ratatui-core/src/symbols/half_block.rs:3 | ✅ |
146
- | half_block::FULL | ratatui-core/src/symbols/half_block.rs:5 | ✅ |
147
- | Marker::Dot | ratatui-core/src/symbols/marker.rs:11 | ✅ |
148
- | Marker::Block | ratatui-core/src/symbols/marker.rs:13 | ✅ |
149
- | Marker::Bar | ratatui-core/src/symbols/marker.rs:17 | ✅ |
150
- | Marker::Braille | ratatui-core/src/symbols/marker.rs:21 | ✅ |
151
- | Marker::HalfBlock | ratatui-core/src/symbols/marker.rs:25 | ✅ |
152
- | bar::Set struct | ratatui-core/src/symbols/bar.rs:8 | ✅ |
153
- | bar::THREE_LEVELS | ratatui-core/src/symbols/bar.rs:29 | ✅ |
154
- | bar::NINE_LEVELS | ratatui-core/src/symbols/bar.rs:41 | ✅ |
155
- | border::Set struct | ratatui-core/src/symbols/border.rs:12 | ✅ |
156
- | border::PLAIN | ratatui-core/src/symbols/border.rs:43 | ✅ |
157
- | border::ROUNDED | ratatui-core/src/symbols/border.rs:62 | ✅ |
158
- | border::DOUBLE | ratatui-core/src/symbols/border.rs:81 | ✅ |
159
- | border::THICK | ratatui-core/src/symbols/border.rs:100 | ✅ |
160
- | border::QUADRANT_OUTSIDE | ratatui-core/src/symbols/border.rs:195 | ✅ |
161
- | border::QUADRANT_INSIDE | ratatui-core/src/symbols/border.rs:214 | ✅ |
162
- | line::Set struct | ratatui-core/src/symbols/line.rs:62 | ✅ |
163
- | line::NORMAL | ratatui-core/src/symbols/line.rs:82 | ✅ |
164
- | line::DOUBLE | ratatui-core/src/symbols/line.rs:104 | ✅ |
165
- | line::THICK | ratatui-core/src/symbols/line.rs:118 | ✅ |
166
-
167
- ## Widgets
168
-
169
- ### Paragraph Widget
170
-
171
- | Feature Name | File/Line | Status |
172
- |--------------|-----------|--------|
173
- | Paragraph struct | ratatui-widgets/src/paragraph.rs:80 | ✅ |
174
- | Paragraph::block | ratatui-widgets/src/paragraph.rs:174 | ✅ |
175
- | Paragraph::style | ratatui-widgets/src/paragraph.rs:198 | ✅ |
176
- | Paragraph::wrap | ratatui-widgets/src/paragraph.rs:115 | ✅ |
177
- | Paragraph::scroll | ratatui-widgets/src/paragraph.rs:161 | ✅ |
178
- | Paragraph::alignment | ratatui-widgets/src/paragraph.rs:199 | ✅ |
179
- | Wrap struct | ratatui-widgets/src/paragraph.rs:240 | ✅ |
180
- | Wrap::trim | ratatui-widgets/src/paragraph.rs:242 | ✅ |
181
-
182
- ### Block Widget
183
-
184
- | Feature Name | File/Line | Status |
185
- |--------------|-----------|--------|
186
- | Block struct | ratatui-widgets/src/block.rs:75 | ✅ |
187
- | Block::borders | ratatui-widgets/src/block.rs:85 | ✅ |
188
- | Block::border_style | ratatui-widgets/src/block.rs:89 | ✅ |
189
- | Block::border_set | ratatui-widgets/src/block.rs:91 | ✅ |
190
- | Block::padding | ratatui-widgets/src/block.rs:97 | ✅ |
191
- | Padding struct | ratatui-widgets/src/block/padding.rs:27 | ✅ |
192
- | Padding::ZERO | ratatui-widgets/src/block/padding.rs:40 | ✅ |
193
- | Padding::new | ratatui-widgets/src/block/padding.rs:50 | ✅ |
194
- | Padding::horizontal | ratatui-widgets/src/block/padding.rs:66 | ✅ |
195
- | Padding::vertical | ratatui-widgets/src/block/padding.rs:76 | ✅ |
196
- | Padding::uniform | ratatui-widgets/src/block/padding.rs:86 | ✅ |
197
- | Padding::proportional | ratatui-widgets/src/block/padding.rs:99 | ✅ |
198
- | Padding::symmetric | ratatui-widgets/src/block/padding.rs:112 | ✅ |
199
- | Padding::left | ratatui-widgets/src/block/padding.rs:122 | ✅ |
200
- | Padding::right | ratatui-widgets/src/block/padding.rs:132 | ✅ |
201
- | Padding::top | ratatui-widgets/src/block/padding.rs:142 | ✅ |
202
- | Padding::bottom | ratatui-widgets/src/block/padding.rs:152 | ✅ |
203
- | Borders::TOP | ratatui-widgets/src/borders.rs:33 | ✅ |
204
- | Borders::RIGHT | ratatui-widgets/src/borders.rs:35 | ✅ |
205
- | Borders::BOTTOM | ratatui-widgets/src/borders.rs:37 | ✅ |
206
- | Borders::LEFT | ratatui-widgets/src/borders.rs:39 | ✅ |
207
- | Borders::ALL | ratatui-widgets/src/borders.rs:41 | ✅ |
208
- | Borders::NONE | ratatui-widgets/src/borders.rs:43 | ✅ |
209
- | BorderType::Plain | ratatui-widgets/src/borders.rs:64 | ✅ |
210
- | BorderType::Rounded | ratatui-widgets/src/borders.rs:66 | ✅ |
211
- | BorderType::Double | ratatui-widgets/src/borders.rs:71 | ✅ |
212
- | BorderType::Thick | ratatui-widgets/src/borders.rs:81 | ✅ |
213
- | BorderType::QuadrantInside | ratatui-widgets/src/borders.rs:139 | ✅ |
214
- | BorderType::QuadrantOutside | ratatui-widgets/src/borders.rs:144 | ✅ |
215
- | TitlePosition::Top | ratatui-widgets/src/block.rs:49 | ✅ |
216
- | TitlePosition::Bottom | ratatui-widgets/src/block.rs:51 | ✅ |
217
-
218
- ### Table Widget
219
-
220
- | Feature Name | File/Line | Status |
221
- |--------------|-----------|--------|
222
- | Table struct | ratatui-widgets/src/table.rs:233 | ✅ |
223
- | Table::rows | ratatui-widgets/src/table.rs:235 | ✅ |
224
- | Table::header | ratatui-widgets/src/table.rs:238 | ✅ |
225
- | Table::footer | ratatui-widgets/src/table.rs:241 | ✅ |
226
- | Table::widths | ratatui-widgets/src/table.rs:244 | ✅ |
227
- | Table::column_spacing | ratatui-widgets/src/table.rs:247 | ✅ |
228
- | Table::row_highlight_style | ratatui-widgets/src/table.rs:256 | ✅ |
229
- | Table::column_highlight_style | ratatui-widgets/src/table.rs:259 | ✅ |
230
- | Table::cell_highlight_style | ratatui-widgets/src/table.rs:262 | ✅ |
231
- | Table::highlight_symbol | ratatui-widgets/src/table.rs:265 | ✅ |
232
- | Table::highlight_spacing | ratatui-widgets/src/table.rs:268 | ✅ |
233
- | Table::flex | ratatui-widgets/src/table.rs:271 | ✅ |
234
- | Row struct | ratatui-widgets/src/table/row.rs:75 | ✅ |
235
- | Cell struct | ratatui-widgets/src/table/cell.rs:51 | ✅ |
236
- | HighlightSpacing::Always | ratatui-widgets/src/table/highlight_spacing.rs:10 | ✅ |
237
- | HighlightSpacing::WhenSelected | ratatui-widgets/src/table/highlight_spacing.rs:14 | ✅ |
238
- | HighlightSpacing::Never | ratatui-widgets/src/table/highlight_spacing.rs:18 | ✅ |
239
-
240
-
241
- ### List Widget
242
-
243
- | Feature Name | File/Line | Status |
244
- |--------------|-----------|--------|
245
- | List struct | ratatui-widgets/src/list.rs:109 | ✅ |
246
- | List::items | ratatui-widgets/src/list.rs:113 | ✅ |
247
- | List::direction | ratatui-widgets/src/list.rs:117 | ✅ |
248
- | List::highlight_style | ratatui-widgets/src/list.rs:119 | ✅ |
249
- | List::highlight_symbol | ratatui-widgets/src/list.rs:121 | ✅ |
250
- | List::repeat_highlight_symbol | ratatui-widgets/src/list.rs:123 | ✅ |
251
- | List::highlight_spacing | ratatui-widgets/src/list.rs:125 | ✅ |
252
- | List::scroll_padding | ratatui-widgets/src/list.rs:127 | ✅ |
253
- | ListDirection::TopToBottom | ratatui-widgets/src/list.rs:140 | ✅ |
254
- | ListDirection::BottomToTop | ratatui-widgets/src/list.rs:142 | ✅ |
255
- | ListItem struct | ratatui-widgets/src/list/item.rs:73 | ✅ |
256
-
257
-
258
- ### BarChart Widget
259
-
260
- | Feature Name | File/Line | Status |
261
- |--------------|-----------|--------|
262
- | BarChart struct | ratatui-widgets/src/barchart.rs:83 | ✅ |
263
- | BarChart::bar_width | ratatui-widgets/src/barchart.rs:87 | ✅ |
264
- | BarChart::bar_gap | ratatui-widgets/src/barchart.rs:89 | ✅ |
265
- | BarChart::group_gap | ratatui-widgets/src/barchart.rs:91 | ✅ |
266
- | BarChart::bar_set | ratatui-widgets/src/barchart.rs:93 | ✅ |
267
- | BarChart::max | ratatui-widgets/src/barchart.rs:106 | ✅ |
268
- | BarChart::direction | ratatui-widgets/src/barchart.rs:108 | ✅ |
269
- | Bar struct | ratatui-widgets/src/barchart/bar.rs:34 | ✅ |
270
- | BarGroup struct | ratatui-widgets/src/barchart/bar_group.rs:21 | ✅ |
271
-
272
- ### Chart Widget
273
-
274
- | Feature Name | File/Line | Status |
275
- |--------------|-----------|--------|
276
- | Chart struct | ratatui-widgets/src/chart.rs:510 | ✅ |
277
- | Axis struct | ratatui-widgets/src/chart.rs:40 | ✅ |
278
- | Axis::bounds | ratatui-widgets/src/chart.rs:44 | ✅ |
279
- | Axis::labels | ratatui-widgets/src/chart.rs:46 | ✅ |
280
- | Axis::labels_alignment | ratatui-widgets/src/chart.rs:50 | ✅ |
281
- | Dataset struct | ratatui-widgets/src/chart.rs:320 | ✅ |
282
- | Dataset::marker | ratatui-widgets/src/chart.rs:326 | ✅ |
283
- | Dataset::graph_type | ratatui-widgets/src/chart.rs:328 | ✅ |
284
- | GraphType::Scatter | ratatui-widgets/src/chart.rs:161 | ✅ |
285
- | GraphType::Line | ratatui-widgets/src/chart.rs:167 | ✅ |
286
- | GraphType::Bar | ratatui-widgets/src/chart.rs:170 | ✅ |
287
- | LegendPosition::TopLeft | ratatui-widgets/src/chart.rs:184 | ✅ |
288
- | LegendPosition::Top | ratatui-widgets/src/chart.rs:179 | ✅ |
289
- | LegendPosition::TopRight | ratatui-widgets/src/chart.rs:182 | ✅ |
290
- | LegendPosition::Left | ratatui-widgets/src/chart.rs:186 | ✅ |
291
- | LegendPosition::Right | ratatui-widgets/src/chart.rs:187 | ✅ |
292
- | LegendPosition::BottomLeft | ratatui-widgets/src/chart.rs:194 | ✅ |
293
- | LegendPosition::Bottom | ratatui-widgets/src/chart.rs:190 | ✅ |
294
- | LegendPosition::BottomRight | ratatui-widgets/src/chart.rs:192 | ✅ |
295
-
296
- ### Gauge Widget
297
-
298
- | Feature Name | File/Line | Status |
299
- |--------------|-----------|--------|
300
- | Gauge struct | ratatui-widgets/src/gauge.rs:45 | ✅ |
301
- | Gauge::ratio | ratatui-widgets/src/gauge.rs:47 | ✅ |
302
- | Gauge::label | ratatui-widgets/src/gauge.rs:48 | ✅ |
303
- | Gauge::use_unicode | ratatui-widgets/src/gauge.rs:49 | ✅ |
304
- | Gauge::gauge_style | ratatui-widgets/src/gauge.rs:51 | ✅ |
305
- | LineGauge struct | ratatui-widgets/src/gauge.rs:269 | ✅ |
306
- | LineGauge::filled_symbol | ratatui-widgets/src/gauge.rs:274 | ✅ |
307
- | LineGauge::unfilled_symbol | ratatui-widgets/src/gauge.rs:275 | ✅ |
308
- | LineGauge::filled_style | ratatui-widgets/src/gauge.rs:276 | ✅ |
309
- | LineGauge::unfilled_style | ratatui-widgets/src/gauge.rs:277 | ✅ |
310
-
311
- ### Sparkline Widget
312
-
313
- | Feature Name | File/Line | Status |
314
- |--------------|-----------|--------|
315
- | Sparkline struct | ratatui-widgets/src/sparkline.rs:66 | ✅ |
316
- | RenderDirection::LeftToRight | ratatui-widgets/src/sparkline.rs:93 | ✅ |
317
- | RenderDirection::RightToLeft | ratatui-widgets/src/sparkline.rs:96 | ✅ |
318
-
319
- ### Scrollbar Widget
320
-
321
- | Feature Name | File/Line | Status |
322
- |--------------|-----------|--------|
323
- | Scrollbar struct | ratatui-widgets/src/scrollbar.rs:87 | ✅ |
324
- | ScrollbarOrientation::VerticalRight | ratatui-widgets/src/scrollbar.rs:112 | ✅ |
325
- | ScrollbarOrientation::VerticalLeft | ratatui-widgets/src/scrollbar.rs:115 | ✅ |
326
- | ScrollbarOrientation::HorizontalBottom | ratatui-widgets/src/scrollbar.rs:118 | ✅ |
327
- | ScrollbarOrientation::HorizontalTop | ratatui-widgets/src/scrollbar.rs:121 | ✅ |
328
-
329
-
330
- ### Calendar Widget
331
-
332
- | Feature Name | File/Line | Status |
333
- |--------------|-----------|--------|
334
- | Monthly struct | ratatui-widgets/src/calendar.rs:26 | ✅ |
335
-
336
- ### Canvas Widget
337
-
338
- | Feature Name | File/Line | Status |
339
- |--------------|-----------|--------|
340
- | Canvas struct | ratatui-widgets/src/canvas.rs:721 | ✅ |
341
- | Line shape | ratatui-widgets/src/canvas/line.rs:8 | ✅ |
342
- | Circle shape | ratatui-widgets/src/canvas/circle.rs:9 | ✅ |
343
- | Rectangle shape | ratatui-widgets/src/canvas/rectangle.rs:10 | ✅ |
344
- | Map struct | ratatui-widgets/src/canvas/map.rs:38 | ✅ |
345
- | MapResolution::Low | ratatui-widgets/src/canvas/map.rs:13 | ✅ |
346
- | MapResolution::High | ratatui-widgets/src/canvas/map.rs:16 | ✅ |
347
-
348
- ### Tabs Widget
349
-
350
- | Feature Name | File/Line | Status |
351
- |--------------|-----------|--------|
352
- | Tabs struct | ratatui-widgets/src/tabs.rs:51 | ✅ |
353
-
354
- ### Other Widgets
355
-
356
- | Feature Name | File/Line | Status |
357
- |--------------|-----------|--------|
358
- | Clear widget | ratatui-widgets/src/clear.rs:30 | ✅ |
359
- | RatatuiLogo widget | ratatui-widgets/src/logo.rs:59 | ✅ |
360
- | RatatuiLogo Size::Tiny | ratatui-widgets/src/logo.rs:68 | ✅ |
361
- | RatatuiLogo Size::Small | ratatui-widgets/src/logo.rs:71 | ✅ |
362
- | RatatuiLogo Size::Medium | ratatui-widgets/src/logo.rs:74 | ✅ |
363
- | RatatuiLogo Size::Large | ratatui-widgets/src/logo.rs:77 | ✅ |
364
-
365
- ## Buffer Features
366
-
367
- | Feature Name | File/Line | Status |
368
- |--------------|-----------|--------|
369
- | Buffer struct | ratatui-core/src/buffer/buffer.rs:66 | ✅ |
370
- | Buffer::content | ratatui-core/src/buffer/buffer.rs:107 | ✅ |
371
- | Buffer::get | ratatui-core/src/buffer/buffer.rs:130 | ✅ |
372
- | Cell struct | ratatui-core/src/buffer/cell.rs:9 | ✅ |
373
-
374
-
375
-
376
- ## Backend Features
377
-
378
- | Feature Name | File/Line | Status |
379
- |--------------|-----------|--------|
380
- | TestBackend | ratatui-core/src/backend/test.rs:* | ✅ |
381
- | CrosstermBackend | ratatui-crossterm/src/lib.rs:* | ✅ |