ratatui_ruby 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. checksums.yaml +4 -4
  2. data/ext/ratatui_ruby/Cargo.lock +2 -1
  3. data/ext/ratatui_ruby/Cargo.toml +2 -1
  4. data/ext/ratatui_ruby/src/events.rs +157 -18
  5. data/lib/ratatui_ruby/test_helper/snapshot.rb +58 -10
  6. data/lib/ratatui_ruby/test_helper/subprocess_timeout.rb +35 -0
  7. data/lib/ratatui_ruby/test_helper.rb +2 -0
  8. data/lib/ratatui_ruby/version.rb +1 -1
  9. metadata +17 -270
  10. data/.builds/ruby-3.2.yml +0 -54
  11. data/.builds/ruby-3.3.yml +0 -54
  12. data/.builds/ruby-3.4.yml +0 -54
  13. data/.builds/ruby-4.0.0.yml +0 -54
  14. data/.pre-commit-config.yaml +0 -16
  15. data/.rubocop.yml +0 -10
  16. data/AGENTS.md +0 -147
  17. data/CHANGELOG.md +0 -771
  18. data/README.md +0 -187
  19. data/README.rdoc +0 -302
  20. data/Rakefile +0 -11
  21. data/Steepfile +0 -50
  22. data/doc/concepts/application_architecture.md +0 -321
  23. data/doc/concepts/application_testing.md +0 -193
  24. data/doc/concepts/async.md +0 -190
  25. data/doc/concepts/custom_widgets.md +0 -247
  26. data/doc/concepts/debugging.md +0 -401
  27. data/doc/concepts/event_handling.md +0 -162
  28. data/doc/concepts/interactive_design.md +0 -146
  29. data/doc/contributors/auditing/parity.md +0 -239
  30. data/doc/contributors/design/ruby_frontend.md +0 -448
  31. data/doc/contributors/design/rust_backend.md +0 -434
  32. data/doc/contributors/design.md +0 -11
  33. data/doc/contributors/developing_examples.md +0 -400
  34. data/doc/contributors/documentation_style.md +0 -121
  35. data/doc/contributors/index.md +0 -21
  36. data/doc/contributors/releasing.md +0 -215
  37. data/doc/contributors/todo/align/api_completeness_audit-finished.md +0 -381
  38. data/doc/contributors/todo/align/api_completeness_audit-unfinished.md +0 -200
  39. data/doc/contributors/todo/align/term.md +0 -351
  40. data/doc/contributors/todo/align/terminal.md +0 -647
  41. data/doc/contributors/todo/future_work.md +0 -169
  42. data/doc/contributors/upstream_requests/paragraph_span_rects.md +0 -259
  43. data/doc/contributors/upstream_requests/tab_rects.md +0 -173
  44. data/doc/contributors/upstream_requests/title_rects.md +0 -132
  45. data/doc/custom.css +0 -22
  46. data/doc/getting_started/quickstart.md +0 -291
  47. data/doc/getting_started/why.md +0 -93
  48. data/doc/images/app_all_events.png +0 -0
  49. data/doc/images/app_cli_rich_moments.gif +0 -0
  50. data/doc/images/app_color_picker.png +0 -0
  51. data/doc/images/app_debugging_showcase.gif +0 -0
  52. data/doc/images/app_debugging_showcase.png +0 -0
  53. data/doc/images/app_external_editor.gif +0 -0
  54. data/doc/images/app_login_form.png +0 -0
  55. data/doc/images/app_stateful_interaction.png +0 -0
  56. data/doc/images/verify_quickstart_dsl.png +0 -0
  57. data/doc/images/verify_quickstart_layout.png +0 -0
  58. data/doc/images/verify_quickstart_lifecycle.png +0 -0
  59. data/doc/images/verify_readme_usage.png +0 -0
  60. data/doc/images/widget_barchart.png +0 -0
  61. data/doc/images/widget_block.png +0 -0
  62. data/doc/images/widget_box.png +0 -0
  63. data/doc/images/widget_calendar.png +0 -0
  64. data/doc/images/widget_canvas.png +0 -0
  65. data/doc/images/widget_cell.png +0 -0
  66. data/doc/images/widget_center.png +0 -0
  67. data/doc/images/widget_chart.png +0 -0
  68. data/doc/images/widget_gauge.png +0 -0
  69. data/doc/images/widget_layout_split.png +0 -0
  70. data/doc/images/widget_line_gauge.png +0 -0
  71. data/doc/images/widget_list.png +0 -0
  72. data/doc/images/widget_map.png +0 -0
  73. data/doc/images/widget_overlay.png +0 -0
  74. data/doc/images/widget_popup.png +0 -0
  75. data/doc/images/widget_ratatui_logo.png +0 -0
  76. data/doc/images/widget_ratatui_mascot.png +0 -0
  77. data/doc/images/widget_rect.png +0 -0
  78. data/doc/images/widget_render.png +0 -0
  79. data/doc/images/widget_rich_text.png +0 -0
  80. data/doc/images/widget_scroll_text.png +0 -0
  81. data/doc/images/widget_scrollbar.png +0 -0
  82. data/doc/images/widget_sparkline.png +0 -0
  83. data/doc/images/widget_style_colors.png +0 -0
  84. data/doc/images/widget_table.png +0 -0
  85. data/doc/images/widget_tabs.png +0 -0
  86. data/doc/images/widget_text_width.png +0 -0
  87. data/doc/index.md +0 -34
  88. data/doc/troubleshooting/async.md +0 -4
  89. data/doc/troubleshooting/terminal_limitations.md +0 -131
  90. data/doc/troubleshooting/tui_output.md +0 -197
  91. data/examples/app_all_events/README.md +0 -114
  92. data/examples/app_all_events/app.rb +0 -98
  93. data/examples/app_all_events/model/app_model.rb +0 -159
  94. data/examples/app_all_events/model/event_color_cycle.rb +0 -43
  95. data/examples/app_all_events/model/event_entry.rb +0 -94
  96. data/examples/app_all_events/model/msg.rb +0 -39
  97. data/examples/app_all_events/model/timestamp.rb +0 -56
  98. data/examples/app_all_events/update.rb +0 -75
  99. data/examples/app_all_events/view/app_view.rb +0 -80
  100. data/examples/app_all_events/view/controls_view.rb +0 -54
  101. data/examples/app_all_events/view/counts_view.rb +0 -61
  102. data/examples/app_all_events/view/live_view.rb +0 -72
  103. data/examples/app_all_events/view/log_view.rb +0 -57
  104. data/examples/app_all_events/view.rb +0 -9
  105. data/examples/app_cli_rich_moments/README.md +0 -81
  106. data/examples/app_cli_rich_moments/app.rb +0 -189
  107. data/examples/app_color_picker/README.md +0 -156
  108. data/examples/app_color_picker/app.rb +0 -76
  109. data/examples/app_color_picker/clipboard.rb +0 -86
  110. data/examples/app_color_picker/color.rb +0 -193
  111. data/examples/app_color_picker/controls.rb +0 -92
  112. data/examples/app_color_picker/copy_dialog.rb +0 -168
  113. data/examples/app_color_picker/export_pane.rb +0 -128
  114. data/examples/app_color_picker/harmony.rb +0 -58
  115. data/examples/app_color_picker/input.rb +0 -176
  116. data/examples/app_color_picker/main_container.rb +0 -180
  117. data/examples/app_color_picker/palette.rb +0 -111
  118. data/examples/app_debugging_showcase/README.md +0 -119
  119. data/examples/app_debugging_showcase/app.rb +0 -318
  120. data/examples/app_external_editor/README.md +0 -62
  121. data/examples/app_external_editor/app.rb +0 -344
  122. data/examples/app_login_form/README.md +0 -58
  123. data/examples/app_login_form/app.rb +0 -109
  124. data/examples/app_stateful_interaction/README.md +0 -35
  125. data/examples/app_stateful_interaction/app.rb +0 -328
  126. data/examples/timeout_demo.rb +0 -45
  127. data/examples/verify_quickstart_dsl/README.md +0 -55
  128. data/examples/verify_quickstart_dsl/app.rb +0 -49
  129. data/examples/verify_quickstart_layout/README.md +0 -77
  130. data/examples/verify_quickstart_layout/app.rb +0 -73
  131. data/examples/verify_quickstart_lifecycle/README.md +0 -68
  132. data/examples/verify_quickstart_lifecycle/app.rb +0 -62
  133. data/examples/verify_readme_usage/README.md +0 -49
  134. data/examples/verify_readme_usage/app.rb +0 -42
  135. data/examples/verify_website_managed/README.md +0 -48
  136. data/examples/verify_website_managed/app.rb +0 -36
  137. data/examples/verify_website_menu/README.md +0 -60
  138. data/examples/verify_website_menu/app.rb +0 -84
  139. data/examples/verify_website_spinner/README.md +0 -44
  140. data/examples/verify_website_spinner/app.rb +0 -34
  141. data/examples/widget_barchart/README.md +0 -58
  142. data/examples/widget_barchart/app.rb +0 -240
  143. data/examples/widget_block/README.md +0 -44
  144. data/examples/widget_block/app.rb +0 -258
  145. data/examples/widget_box/README.md +0 -54
  146. data/examples/widget_box/app.rb +0 -255
  147. data/examples/widget_calendar/README.md +0 -48
  148. data/examples/widget_calendar/app.rb +0 -115
  149. data/examples/widget_canvas/README.md +0 -31
  150. data/examples/widget_canvas/app.rb +0 -130
  151. data/examples/widget_cell/README.md +0 -45
  152. data/examples/widget_cell/app.rb +0 -112
  153. data/examples/widget_center/README.md +0 -33
  154. data/examples/widget_center/app.rb +0 -118
  155. data/examples/widget_chart/README.md +0 -50
  156. data/examples/widget_chart/app.rb +0 -220
  157. data/examples/widget_gauge/README.md +0 -50
  158. data/examples/widget_gauge/app.rb +0 -229
  159. data/examples/widget_layout_split/README.md +0 -53
  160. data/examples/widget_layout_split/app.rb +0 -260
  161. data/examples/widget_line_gauge/README.md +0 -50
  162. data/examples/widget_line_gauge/app.rb +0 -219
  163. data/examples/widget_list/README.md +0 -58
  164. data/examples/widget_list/app.rb +0 -382
  165. data/examples/widget_map/README.md +0 -48
  166. data/examples/widget_map/app.rb +0 -95
  167. data/examples/widget_overlay/README.md +0 -45
  168. data/examples/widget_overlay/app.rb +0 -250
  169. data/examples/widget_popup/README.md +0 -45
  170. data/examples/widget_popup/app.rb +0 -106
  171. data/examples/widget_ratatui_logo/README.md +0 -43
  172. data/examples/widget_ratatui_logo/app.rb +0 -104
  173. data/examples/widget_ratatui_mascot/README.md +0 -43
  174. data/examples/widget_ratatui_mascot/app.rb +0 -95
  175. data/examples/widget_rect/README.md +0 -53
  176. data/examples/widget_rect/app.rb +0 -222
  177. data/examples/widget_render/README.md +0 -46
  178. data/examples/widget_render/app.rb +0 -186
  179. data/examples/widget_render/app.rbs +0 -41
  180. data/examples/widget_rich_text/README.md +0 -44
  181. data/examples/widget_rich_text/app.rb +0 -193
  182. data/examples/widget_scroll_text/README.md +0 -46
  183. data/examples/widget_scroll_text/app.rb +0 -109
  184. data/examples/widget_scrollbar/README.md +0 -46
  185. data/examples/widget_scrollbar/app.rb +0 -155
  186. data/examples/widget_sparkline/README.md +0 -51
  187. data/examples/widget_sparkline/app.rb +0 -277
  188. data/examples/widget_style_colors/README.md +0 -43
  189. data/examples/widget_style_colors/app.rb +0 -83
  190. data/examples/widget_table/README.md +0 -57
  191. data/examples/widget_table/app.rb +0 -285
  192. data/examples/widget_tabs/README.md +0 -50
  193. data/examples/widget_tabs/app.rb +0 -183
  194. data/examples/widget_text_width/README.md +0 -44
  195. data/examples/widget_text_width/app.rb +0 -117
  196. data/migrate_to_buffer.rb +0 -145
  197. data/mise.toml +0 -8
  198. data/tasks/autodoc/examples.rb +0 -87
  199. data/tasks/autodoc/member.rb +0 -58
  200. data/tasks/autodoc/name.rb +0 -21
  201. data/tasks/autodoc.rake +0 -21
  202. data/tasks/bump/bump_workflow.rb +0 -49
  203. data/tasks/bump/cargo_lockfile.rb +0 -21
  204. data/tasks/bump/changelog.rb +0 -104
  205. data/tasks/bump/header.rb +0 -32
  206. data/tasks/bump/history.rb +0 -32
  207. data/tasks/bump/links.rb +0 -69
  208. data/tasks/bump/manifest.rb +0 -33
  209. data/tasks/bump/patch_release.rb +0 -19
  210. data/tasks/bump/release_branch.rb +0 -17
  211. data/tasks/bump/release_from_trunk.rb +0 -49
  212. data/tasks/bump/repository.rb +0 -54
  213. data/tasks/bump/ruby_gem.rb +0 -29
  214. data/tasks/bump/sem_ver.rb +0 -44
  215. data/tasks/bump/unreleased_section.rb +0 -73
  216. data/tasks/bump.rake +0 -61
  217. data/tasks/doc/documentation.rb +0 -59
  218. data/tasks/doc/link/file_url.rb +0 -30
  219. data/tasks/doc/link/relative_path.rb +0 -61
  220. data/tasks/doc/link/web_url.rb +0 -55
  221. data/tasks/doc/link.rb +0 -52
  222. data/tasks/doc/link_audit.rb +0 -116
  223. data/tasks/doc/problem.rb +0 -40
  224. data/tasks/doc/source_file.rb +0 -93
  225. data/tasks/doc.rake +0 -905
  226. data/tasks/example_viewer.html.erb +0 -172
  227. data/tasks/extension.rake +0 -14
  228. data/tasks/license/headers_md.rb +0 -223
  229. data/tasks/license/headers_rb.rb +0 -210
  230. data/tasks/license/license_utils.rb +0 -130
  231. data/tasks/license/snippets_md.rb +0 -315
  232. data/tasks/license/snippets_rdoc.rb +0 -150
  233. data/tasks/license.rake +0 -91
  234. data/tasks/lint.rake +0 -170
  235. data/tasks/rbs_predicates/predicate_catalog.rb +0 -52
  236. data/tasks/rbs_predicates/predicate_tests.rb +0 -124
  237. data/tasks/rbs_predicates/rbs_signature.rb +0 -63
  238. data/tasks/rbs_predicates.rake +0 -31
  239. data/tasks/rdoc_config.rb +0 -29
  240. data/tasks/resources/build.yml.erb +0 -60
  241. data/tasks/resources/index.html.erb +0 -141
  242. data/tasks/resources/rubies.yml +0 -7
  243. data/tasks/sourcehut.rake +0 -122
  244. data/tasks/steep.rake +0 -11
  245. data/tasks/terminal_preview/app_screenshot.rb +0 -45
  246. data/tasks/terminal_preview/crash_report.rb +0 -54
  247. data/tasks/terminal_preview/example_app.rb +0 -27
  248. data/tasks/terminal_preview/launcher_script.rb +0 -48
  249. data/tasks/terminal_preview/preview_collection.rb +0 -60
  250. data/tasks/terminal_preview/preview_timing.rb +0 -24
  251. data/tasks/terminal_preview/safety_confirmation.rb +0 -58
  252. data/tasks/terminal_preview/saved_screenshot.rb +0 -56
  253. data/tasks/terminal_preview/system_appearance.rb +0 -13
  254. data/tasks/terminal_preview/terminal_window.rb +0 -138
  255. data/tasks/terminal_preview/window_id.rb +0 -16
  256. data/tasks/terminal_preview.rake +0 -30
  257. data/tasks/test.rake +0 -36
  258. data/tasks/website/index_page.rb +0 -30
  259. data/tasks/website/version.rb +0 -122
  260. data/tasks/website/version_menu.rb +0 -68
  261. data/tasks/website/versioned_documentation.rb +0 -83
  262. data/tasks/website/website.rb +0 -53
  263. 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:* | ✅ |