Skip to content

v0.26.2

https://github.com/ratatui/ratatui/releases/tag/v0.26.2

MSRV: 1.74.0🦀

Ratatuiの最小サポートされたRustバージョンは、 1.70.0 から 1.74.0 に更新されます。


List: Scroll Padding 📜

スクロール中に、現在選択されている項目の上下に一定数の項目を表示し続けることができる「List」の新しいメソッドを導入しました。

let list = List::new(items).scroll_padding(1);
Demo of the new behavior

scroll_padding

(visible on the left side)


テキスト: iterator🏗️の構成

Line および Text ウィジェットは、 FromIterator を実装するようになりました。

  • Span のiteratorから Line を構築する
let line = Line::from_iter(vec!["Hello".blue(), " world!".green()]);
let line: Line = iter::once("Hello".blue())
.chain(iter::once(" world!".green()))
.collect();
  • Line のiteratorから Text を構築する
let text = Text::from_iter(vec!["The first line", "The second line"]);
let text: Text = iter::once("The first line")
.chain(iter::once("The second line"))
.collect();

テキスト: プッシュメソッド📥

Text および Line structsに次の方法を追加しました:

  • Text::push_line
  • Text::push_span
  • Line::push_span

これにより、フィールドのメソッドを直接呼び出すことなく、テキスト オブジェクトに線や範囲を追加できるため、テキスト オブジェクトの増分構築に役立ちます。

例えば:

let mut line = Line::from("Hello, ");
line.push_span(Span::raw("world!"));
line.push_span(" How are you?");

文字列にウィジェットを実装する

Widget は、 &str および String のために実装されるようになりました。

使用例:

terminal.draw(|f| f.render_widget("Hello World!", f.size()))?;

Span: Rename Methods 🔄

以下の Span メソッドは、Rust メソッドの命名規則に従って名前が変更されています。

非推奨の使用法:

  • Span::to_centered_line
  • Span::to_left_aligned_line
  • Span::to_right_aligned_line

新しい使用法:

  • Span::into_centered_line
  • Span::into_left_aligned_line
  • Span::into_right_aligned_line

資金調達🧀

Radicle から資金提供を受けたことをお知らせします。

詳細については、こちら をご覧ください。


他の💼

  • さまざまな関数を const としてマークしました (#951)
  • 行切り捨ての配置を尊重します (#987)
  • 長さゼロのトラックにスクロールバーをレンダリングしません (#964)
  • 境界外のテキストをレンダリングするときにパニックが発生する問題を修正しました (#997)
  • highlight_symbol のオーバーフローを修正しました (#949)
  • 長いリストでスクロールバーのサムが表示されない問題を修正しました(#959)
  • 段落がスタイル付きテキストを正しくレンダリングするようにします (#992)
  • クリッピー (ペダンティック) な提案を適用しました

最後に、@EdJoPaTo をメンテナーとして歓迎します! 🥳