"If you are what you eat, then I only want to eat the good stuff." – Remy
We are excited to announce the new version of ratatui - a Rust library that's all about cooking up TUIs 🐭
In this version, we have upgraded to Crossterm 0.28.0, introducing enhanced functionality and performance improvements.
New features include GraphType::Bar, lines in bar charts, and enhanced scroll/navigation methods.
We have also refined the terminal module and added brand new methods for cursor positions and text operations.
a23ecd9(buffer) Add Buffer::cell, cell_mut and index implementations by @joshka in #1084
Code which previously called buf.get(x, y) or buf.get_mut(x, y)
should now use index operators, or be transitioned to buff.cell() or
buf.cell_mut() for safe access that avoids panics by returning
Option<&Cell> and Option<&mut Cell>.
The new methods accept Into<Position> instead of x and y
coordinates, which makes them more ergonomic to use.
let mut buffer = Buffer::empty(Rect::new(0, 0, 10, 10));
let cell = buf[(0, 0)];
let cell = buf[Position::new(0, 0)];
let symbol = buf.cell((0, 0)).map(|cell| cell.symbol());
let symbol = buf.cell(Position::new(0, 0)).map(|cell| cell.symbol());
"If you are what you eat, then I only want to eat the good stuff." – Remy
We are excited to announce the new version of ratatui - a Rust library that's all about cooking up TUIs 🐭
In this version, we have upgraded to Crossterm 0.28.0, introducing enhanced functionality and performance improvements.
New features include GraphType::Bar, lines in bar charts, and enhanced scroll/navigation methods.
We have also refined the terminal module and added brand new methods for cursor positions and text operations.
a23ecd9(buffer) Add Buffer::cell, cell_mut and index implementations by @joshka in #1084
Code which previously called buf.get(x, y) or buf.get_mut(x, y)
should now use index operators, or be transitioned to buff.cell() or
buf.cell_mut() for safe access that avoids panics by returning
Option<&Cell> and Option<&mut Cell>.
The new methods accept Into<Position> instead of x and y
coordinates, which makes them more ergonomic to use.
let mut buffer = Buffer::empty(Rect::new(0, 0, 10, 10));
let cell = buf[(0, 0)];
let cell = buf[Position::new(0, 0)];
let symbol = buf.cell((0, 0)).map(|cell| cell.symbol());
let symbol = buf.cell(Position::new(0, 0)).map(|cell| cell.symbol());
The existing get() and get_mut() methods are marked as deprecated.
These are fairly widely used and we will leave these methods around on
the buffer for a longer time than our normal deprecation approach (2
major release)
... (truncated)
Commits
ec88bb8 chore(release): prepare for 0.28.0 (#1295)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the cargo-dependencies group with 7 updates in the / directory:
4.5.11
4.5.15
0.27.0
0.28.1
0.27.0
0.28.0
0.4.3
0.5.0
1.0.204
1.0.206
0.8.16
0.8.19
0.9.0
0.10.0
Updates
clap
from 4.5.11 to 4.5.15Release notes
Sourced from clap's releases.
Changelog
Sourced from clap's changelog.
Commits
4094435
chore: Release36114c3
docs: Update changelog918cfed
Merge pull request #5610 from Mixu78/powershell_hyphensc55f642
Merge pull request #5648 from epage/cli219a191
fix(complete): Improve help output734cac7
feat(complete): Make '--register' optionalfa4ccec
feat(complete): Make '--shell' optionalefdcad1
Merge pull request #5647 from epage/infere65e463
docs(complete): Have dynamic Shell match static Shell8a1f9b3
Merge pull request #5646 from epage/powershellUpdates
crossterm
from 0.27.0 to 0.28.1Release notes
Sourced from crossterm's releases.
Changelog
Sourced from crossterm's changelog.
... (truncated)
Commits
Updates
ratatui
from 0.27.0 to 0.28.0Release notes
Sourced from ratatui's releases.
... (truncated)
Changelog
Sourced from ratatui's changelog.
... (truncated)
Commits
ec88bb8
chore(release): prepare for 0.28.0 (#1295)f04bf85
perf: add buffer benchmarks (#1303)4753b72
perf(reflow): eliminate most WordWrapper allocations (#1239)36fa3c1
chore(deps): bump crossterm to 0.28.1 (#1304)69e8ed7
chore(deps): remove anyhow from dev dependencies (#1305)5f7a7fb
docs(examples): update barcharts gifs (#1306)e6d2e04
perf: move benchmarks into a single benchmark harness (#1302)45fcab7
chore: add rect::rows benchmark (#1301)1b9bdd4
docs(contributing): fix minor issues (#1300)c68ee6c
feat!: addget/set_cursor_position()
methods to Terminal and Backend (#1284)Updates
ratatui-macros
from 0.4.3 to 0.5.0Release notes
Sourced from ratatui-macros's releases.
Changelog
Sourced from ratatui-macros's changelog.
Commits
345e6a1
fix: bump version to 0.5.0 (#69)28f5a6d
chore: release v0.4.4 (#63)b75df78
chore(deps): bump ratatui to 0.28.0 (#66)afc5cf2
build(deps): bump trybuild from 1.0.98 to 1.0.99 in the cargo-dependencies gr...f28b973
build(deps): bump trybuild from 1.0.97 to 1.0.98 in the cargo-dependencies gr...Updates
serde
from 1.0.204 to 1.0.206Release notes
Sourced from serde's releases.
Commits
85c73ef
Release 1.0.2065ba1796
Resolve doc_markdown pedantic lint on regression test functione52b7b3
Touch up PR 256784c7419
Merge pull request #2794 from dtolnay/neverread536221b
Temporarily ignore collection_is_never_read on FlattenSkipDeserializingfc55ac7
Merge pull request #2567 from Mingun/fix-25652afe5b4
Add regression test for issue #2792b4ec259
Correctly process flatten fields in enum variantsc3ac7b6
Add regression test for issue #190424614e4
Add regression test for issue #2565Updates
toml
from 0.8.16 to 0.8.19Commits
afd3f1f
chore: Release5183e39
docs: Update changeloga7a9611
chore: Releasee1ce60c
docs: Update changelogd0f242b
Merge pull request #775 from epage/perfc7efee7
perf(parser): Resolve regression from stackoverflow protecta3ce25e
chore: Releasefdf8873
docs: Update changelog63376e0
Merge pull request #774 from epage/invalid57f7bb8
fix(parser): Resolve stackoverflow on lots of blank linesUpdates
tui-input
from 0.9.0 to 0.10.0Release notes
Sourced from tui-input's releases.
Commits
18ec93b
Update version9006fbc
feat: migrate from crossterm to ratatui::crosstermDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show