cleanup doc links

This commit is contained in:
Josh McKinney 2024-11-07 23:16:25 -08:00
parent 62a9eeb242
commit 3137ee35f9
No known key found for this signature in database
GPG key ID: 722287396A903BC5
25 changed files with 132 additions and 138 deletions

View file

@ -40,6 +40,10 @@ unstable-widget-ref = ["ratatui-core/unstable-widget-ref"]
## See [Issue 293](https://github.com/ratatui/ratatui/issues/293) for more details. ## See [Issue 293](https://github.com/ratatui/ratatui/issues/293) for more details.
unstable-rendered-line-info = [] unstable-rendered-line-info = []
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[dependencies] [dependencies]
bitflags.workspace = true bitflags.workspace = true
itertools.workspace = true itertools.workspace = true

View file

@ -191,7 +191,7 @@ impl<'a> BarChart<'a> {
/// It is also possible to set individually the style of each [`Bar`]. /// It is also possible to set individually the style of each [`Bar`].
/// In this case the default style will be patched by the individual style /// In this case the default style will be patched by the individual style
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn bar_style<S: Into<Style>>(mut self, style: S) -> Self { pub fn bar_style<S: Into<Style>>(mut self, style: S) -> Self {
self.bar_style = style.into(); self.bar_style = style.into();
@ -200,8 +200,8 @@ impl<'a> BarChart<'a> {
/// Set the width of the displayed bars. /// Set the width of the displayed bars.
/// ///
/// For [`Horizontal`](crate::layout::Direction::Horizontal) bars this becomes the height of /// For [`Horizontal`](ratatui_core::layout::Direction::Horizontal) bars this becomes the height
/// the bar. /// of the bar.
/// ///
/// If not set, this defaults to `1`. /// If not set, this defaults to `1`.
/// The bar label also uses this value as its width. /// The bar label also uses this value as its width.
@ -236,9 +236,9 @@ impl<'a> BarChart<'a> {
self self
} }
/// The [`bar::Set`](crate::symbols::bar::Set) to use for displaying the bars. /// The [`bar::Set`](ratatui_core::symbols::bar::Set) to use for displaying the bars.
/// ///
/// If not set, the default is [`bar::NINE_LEVELS`](crate::symbols::bar::NINE_LEVELS). /// If not set, the default is [`bar::NINE_LEVELS`](ratatui_core::symbols::bar::NINE_LEVELS).
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub const fn bar_set(mut self, bar_set: symbols::bar::Set) -> Self { pub const fn bar_set(mut self, bar_set: symbols::bar::Set) -> Self {
self.bar_set = bar_set; self.bar_set = bar_set;
@ -257,7 +257,7 @@ impl<'a> BarChart<'a> {
/// ///
/// [`Bar::value_style`] to set the value style individually. /// [`Bar::value_style`] to set the value style individually.
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn value_style<S: Into<Style>>(mut self, style: S) -> Self { pub fn value_style<S: Into<Style>>(mut self, style: S) -> Self {
self.value_style = style.into(); self.value_style = style.into();
@ -276,7 +276,7 @@ impl<'a> BarChart<'a> {
/// ///
/// [`Bar::label`] to set the label style individually. /// [`Bar::label`] to set the label style individually.
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn label_style<S: Into<Style>>(mut self, style: S) -> Self { pub fn label_style<S: Into<Style>>(mut self, style: S) -> Self {
self.label_style = style.into(); self.label_style = style.into();
@ -297,7 +297,7 @@ impl<'a> BarChart<'a> {
/// ///
/// The style will be applied to everything that isn't styled (borders, bars, labels, ...). /// The style will be applied to everything that isn't styled (borders, bars, labels, ...).
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn style<S: Into<Style>>(mut self, style: S) -> Self { pub fn style<S: Into<Style>>(mut self, style: S) -> Self {
self.style = style.into(); self.style = style.into();
@ -306,7 +306,7 @@ impl<'a> BarChart<'a> {
/// Set the direction of the bars. /// Set the direction of the bars.
/// ///
/// [`Vertical`](crate::layout::Direction::Vertical) bars are the default. /// [`Vertical`](ratatui_core::layout::Direction::Vertical) bars are the default.
/// ///
/// # Examples /// # Examples
/// ///

View file

@ -1,7 +1,7 @@
use ratatui_core::{buffer::Buffer, layout::Rect, style::Style, text::Line, widgets::Widget}; use ratatui_core::{buffer::Buffer, layout::Rect, style::Style, text::Line, widgets::Widget};
use unicode_width::UnicodeWidthStr; use unicode_width::UnicodeWidthStr;
/// A bar to be shown by the [`BarChart`](crate::widgets::BarChart) widget. /// A bar to be shown by the [`BarChart`](crate::barchart::BarChart) widget.
/// ///
/// Here is an explanation of a `Bar`'s components. /// Here is an explanation of a `Bar`'s components.
/// ```plain /// ```plain
@ -59,11 +59,11 @@ impl<'a> Bar<'a> {
/// Set the label of the bar. /// Set the label of the bar.
/// ///
/// For [`Vertical`](crate::layout::Direction::Vertical) bars, /// For [`Vertical`](ratatui_core::layout::Direction::Vertical) bars,
/// display the label **under** the bar. /// display the label **under** the bar.
/// For [`Horizontal`](crate::layout::Direction::Horizontal) bars, /// For [`Horizontal`](ratatui_core::layout::Direction::Horizontal) bars,
/// display the label **in** the bar. /// display the label **in** the bar.
/// See [`BarChart::direction`](crate::widgets::BarChart::direction) to set the direction. /// See [`BarChart::direction`](crate::barchart::BarChart::direction) to set the direction.
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn label(mut self, label: Line<'a>) -> Self { pub fn label(mut self, label: Line<'a>) -> Self {
self.label = Some(label); self.label = Some(label);
@ -77,7 +77,7 @@ impl<'a> Bar<'a> {
/// ///
/// This will apply to every non-styled element. It can be seen and used as a default value. /// This will apply to every non-styled element. It can be seen and used as a default value.
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn style<S: Into<Style>>(mut self, style: S) -> Self { pub fn style<S: Into<Style>>(mut self, style: S) -> Self {
self.style = style.into(); self.style = style.into();
@ -93,7 +93,7 @@ impl<'a> Bar<'a> {
/// ///
/// [`Bar::value`] to set the value. /// [`Bar::value`] to set the value.
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn value_style<S: Into<Style>>(mut self, style: S) -> Self { pub fn value_style<S: Into<Style>>(mut self, style: S) -> Self {
self.value_style = style.into(); self.value_style = style.into();

View file

@ -24,7 +24,7 @@ use crate::borders::{BorderType, Borders};
mod padding; mod padding;
pub mod title; pub mod title;
/// Base widget to be used to display a box border around all [upper level ones](crate::widgets). /// Base widget to be used to display a box border around all other built-in widgets.
/// ///
/// The borders can be configured with [`Block::borders`] and others. A block can have multiple /// The borders can be configured with [`Block::borders`] and others. A block can have multiple
/// [`Title`] using [`Block::title`]. It can also be [styled](Block::style) and /// [`Title`] using [`Block::title`]. It can also be [styled](Block::style) and
@ -172,8 +172,8 @@ impl<'a> Block<'a> {
/// space is calculated based on the full width of the block, rather than the leftover width. /// space is calculated based on the full width of the block, rather than the leftover width.
/// ///
/// You can provide any type that can be converted into [`Title`] including: strings, string /// You can provide any type that can be converted into [`Title`] including: strings, string
/// slices (`&str`), borrowed strings (`Cow<str>`), [spans](crate::text::Span), or vectors of /// slices (`&str`), borrowed strings (`Cow<str>`), [spans](ratatui_core::text::Span), or
/// [spans](crate::text::Span) (`Vec<Span>`). /// vectors of [spans](ratatui_core::text::Span) (`Vec<Span>`).
/// ///
/// By default, the titles will avoid being rendered in the corners of the block but will align /// By default, the titles will avoid being rendered in the corners of the block but will align
/// against the left or right edge of the block if there is no border on that edge. The /// against the left or right edge of the block if there is no border on that edge. The
@ -247,8 +247,8 @@ impl<'a> Block<'a> {
/// Adds a title to the top of the block. /// Adds a title to the top of the block.
/// ///
/// You can provide any type that can be converted into [`Line`] including: strings, string /// You can provide any type that can be converted into [`Line`] including: strings, string
/// slices (`&str`), borrowed strings (`Cow<str>`), [spans](crate::text::Span), or vectors of /// slices (`&str`), borrowed strings (`Cow<str>`), [spans](ratatui_core::text::Span), or
/// [spans](crate::text::Span) (`Vec<Span>`). /// vectors of [spans](ratatui_core::text::Span) (`Vec<Span>`).
/// ///
/// # Example /// # Example
/// ///
@ -276,8 +276,8 @@ impl<'a> Block<'a> {
/// Adds a title to the bottom of the block. /// Adds a title to the bottom of the block.
/// ///
/// You can provide any type that can be converted into [`Line`] including: strings, string /// You can provide any type that can be converted into [`Line`] including: strings, string
/// slices (`&str`), borrowed strings (`Cow<str>`), [spans](crate::text::Span), or vectors of /// slices (`&str`), borrowed strings (`Cow<str>`), [spans](ratatui_core::text::Span), or
/// [spans](crate::text::Span) (`Vec<Span>`). /// vectors of [spans](ratatui_core::text::Span) (`Vec<Span>`).
/// ///
/// # Example /// # Example
/// ///
@ -313,7 +313,7 @@ impl<'a> Block<'a> {
/// `style` accepts any type that is convertible to [`Style`] (e.g. [`Style`], [`Color`], or /// `style` accepts any type that is convertible to [`Style`] (e.g. [`Style`], [`Color`], or
/// your own type that implements [`Into<Style>`]). /// your own type that implements [`Into<Style>`]).
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn title_style<S: Into<Style>>(mut self, style: S) -> Self { pub fn title_style<S: Into<Style>>(mut self, style: S) -> Self {
self.titles_style = style.into(); self.titles_style = style.into();
@ -389,7 +389,7 @@ impl<'a> Block<'a> {
/// Block::bordered().border_style(Style::new().blue()); /// Block::bordered().border_style(Style::new().blue());
/// ``` /// ```
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn border_style<S: Into<Style>>(mut self, style: S) -> Self { pub fn border_style<S: Into<Style>>(mut self, style: S) -> Self {
self.border_style = style.into(); self.border_style = style.into();
@ -432,8 +432,8 @@ impl<'a> Block<'a> {
/// .style(Style::new().white().not_bold()); // will be white, and italic /// .style(Style::new().white().not_bold()); // will be white, and italic
/// ``` /// ```
/// ///
/// [`Paragraph`]: crate::widgets::Paragraph /// [`Paragraph`]: crate::paragraph::Paragraph
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn style<S: Into<Style>>(mut self, style: S) -> Self { pub fn style<S: Into<Style>>(mut self, style: S) -> Self {
self.style = style.into(); self.style = style.into();
@ -484,7 +484,7 @@ impl<'a> Block<'a> {
self self
} }
/// Sets the symbols used to display the border as a [`crate::symbols::border::Set`]. /// Sets the symbols used to display the border as a [`ratatui_core::symbols::border::Set`].
/// ///
/// Setting this overwrites any [`border_type`](Block::border_type) that was set. /// Setting this overwrites any [`border_type`](Block::border_type) that was set.
/// ///

View file

@ -19,8 +19,8 @@
/// Padding::symmetric(5, 6); /// Padding::symmetric(5, 6);
/// ``` /// ```
/// ///
/// [`Block`]: crate::widgets::Block /// [`Block`]: crate::block::Block
/// [`padding`]: crate::widgets::Block::padding /// [`padding`]: crate::block::Block::padding
/// [CSS padding]: https://developer.mozilla.org/en-US/docs/Web/CSS/padding /// [CSS padding]: https://developer.mozilla.org/en-US/docs/Web/CSS/padding
#[derive(Debug, Default, Clone, Copy, Eq, PartialEq, Ord, PartialOrd, Hash)] #[derive(Debug, Default, Clone, Copy, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub struct Padding { pub struct Padding {

View file

@ -1,10 +1,10 @@
//! This module holds the [`Title`] element and its related configuration types. //! This module holds the [`Title`] element and its related configuration types.
//! A title is a piece of [`Block`](crate::widgets::Block) configuration. //! A title is a piece of [`Block`](crate::block::Block) configuration.
use ratatui_core::{layout::Alignment, text::Line}; use ratatui_core::{layout::Alignment, text::Line};
use strum::{Display, EnumString}; use strum::{Display, EnumString};
/// A [`Block`](crate::widgets::Block) title. /// A [`Block`](crate::block::Block) title.
/// ///
/// It can be aligned (see [`Alignment`]) and positioned (see [`Position`]). /// It can be aligned (see [`Alignment`]) and positioned (see [`Position`]).
/// ///
@ -16,8 +16,8 @@ use strum::{Display, EnumString};
/// <https://github.com/ratatui/ratatui/issues/738>. /// <https://github.com/ratatui/ratatui/issues/738>.
/// ///
/// Use [`Line`] instead, when the position is not defined as part of the title. When a specific /// Use [`Line`] instead, when the position is not defined as part of the title. When a specific
/// position is needed, use [`Block::title_top`](crate::widgets::Block::title_top) or /// position is needed, use [`Block::title_top`](crate::block::Block::title_top) or
/// [`Block::title_bottom`](crate::widgets::Block::title_bottom) instead. /// [`Block::title_bottom`](crate::block::Block::title_bottom) instead.
/// ///
/// # Example /// # Example
/// ///
@ -28,14 +28,14 @@ use strum::{Display, EnumString};
/// Title::from("Title"); /// Title::from("Title");
/// ``` /// ```
/// ///
/// Blue title on a white background (via [`Stylize`](crate::style::Stylize) trait). /// Blue title on a white background (via [`Stylize`](ratatui_core::style::Stylize) trait).
/// ``` /// ```
/// use ratatui::{style::Stylize, widgets::block::Title}; /// use ratatui::{style::Stylize, widgets::block::Title};
/// ///
/// Title::from("Title".blue().on_white()); /// Title::from("Title".blue().on_white());
/// ``` /// ```
/// ///
/// Title with multiple styles (see [`Line`] and [`Stylize`](crate::style::Stylize)). /// Title with multiple styles (see [`Line`] and [`Stylize`](ratatui_core::style::Stylize)).
/// ``` /// ```
/// use ratatui::{style::Stylize, text::Line, widgets::block::Title}; /// use ratatui::{style::Stylize, text::Line, widgets::block::Title};
/// ///
@ -63,19 +63,19 @@ pub struct Title<'a> {
/// Title alignment /// Title alignment
/// ///
/// If [`None`], defaults to the alignment defined with /// If [`None`], defaults to the alignment defined with
/// [`Block::title_alignment`](crate::widgets::Block::title_alignment) in the associated /// [`Block::title_alignment`](crate::block::Block::title_alignment) in the associated
/// [`Block`](crate::widgets::Block). /// [`Block`](crate::block::Block).
pub alignment: Option<Alignment>, pub alignment: Option<Alignment>,
/// Title position /// Title position
/// ///
/// If [`None`], defaults to the position defined with /// If [`None`], defaults to the position defined with
/// [`Block::title_position`](crate::widgets::Block::title_position) in the associated /// [`Block::title_position`](crate::block::Block::title_position) in the associated
/// [`Block`](crate::widgets::Block). /// [`Block`](crate::block::Block).
pub position: Option<Position>, pub position: Option<Position>,
} }
/// Defines the [title](crate::widgets::block::Title) position. /// Defines the [title](crate::block::Title) position.
/// ///
/// The title can be positioned on top or at the bottom of the block. /// The title can be positioned on top or at the bottom of the block.
/// Defaults to [`Position::Top`]. /// Defaults to [`Position::Top`].

View file

@ -24,9 +24,9 @@ bitflags! {
} }
} }
/// The type of border of a [`Block`]. /// The type of border of a [`Block`](crate::block::Block).
/// ///
/// See the [`borders`](Block::borders) method of `Block` to configure its borders. /// See the [`borders`](crate::block::Block::borders) method of `Block` to configure its borders.
#[derive(Debug, Default, Display, EnumString, Clone, Copy, Eq, PartialEq, Hash)] #[derive(Debug, Default, Display, EnumString, Clone, Copy, Eq, PartialEq, Hash)]
pub enum BorderType { pub enum BorderType {
/// A plain, simple border. /// A plain, simple border.
@ -150,7 +150,7 @@ impl fmt::Debug for Borders {
/// and RIGHT. /// and RIGHT.
/// ///
/// When used with NONE you should consider omitting this completely. For ALL you should consider /// When used with NONE you should consider omitting this completely. For ALL you should consider
/// [`Block::bordered()`](crate::widgets::Block::bordered) instead. /// [`Block::bordered()`](crate::block::Block::bordered) instead.
/// ///
/// ## Examples /// ## Examples
/// ///

View file

@ -54,7 +54,7 @@ impl<'a, DS: DateStyler> Monthly<'a, DS> {
/// `style` accepts any type that is convertible to [`Style`] (e.g. [`Style`], [`Color`], or /// `style` accepts any type that is convertible to [`Style`] (e.g. [`Style`], [`Color`], or
/// your own type that implements [`Into<Style>`]). /// your own type that implements [`Into<Style>`]).
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn show_surrounding<S: Into<Style>>(mut self, style: S) -> Self { pub fn show_surrounding<S: Into<Style>>(mut self, style: S) -> Self {
self.show_surrounding = Some(style.into()); self.show_surrounding = Some(style.into());
@ -66,7 +66,7 @@ impl<'a, DS: DateStyler> Monthly<'a, DS> {
/// `style` accepts any type that is convertible to [`Style`] (e.g. [`Style`], [`Color`], or /// `style` accepts any type that is convertible to [`Style`] (e.g. [`Style`], [`Color`], or
/// your own type that implements [`Into<Style>`]). /// your own type that implements [`Into<Style>`]).
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn show_weekdays_header<S: Into<Style>>(mut self, style: S) -> Self { pub fn show_weekdays_header<S: Into<Style>>(mut self, style: S) -> Self {
self.show_weekday = Some(style.into()); self.show_weekday = Some(style.into());
@ -78,7 +78,7 @@ impl<'a, DS: DateStyler> Monthly<'a, DS> {
/// `style` accepts any type that is convertible to [`Style`] (e.g. [`Style`], [`Color`], or /// `style` accepts any type that is convertible to [`Style`] (e.g. [`Style`], [`Color`], or
/// your own type that implements [`Into<Style>`]). /// your own type that implements [`Into<Style>`]).
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn show_month_header<S: Into<Style>>(mut self, style: S) -> Self { pub fn show_month_header<S: Into<Style>>(mut self, style: S) -> Self {
self.show_month = Some(style.into()); self.show_month = Some(style.into());
@ -90,7 +90,7 @@ impl<'a, DS: DateStyler> Monthly<'a, DS> {
/// `style` accepts any type that is convertible to [`Style`] (e.g. [`Style`], [`Color`], or /// `style` accepts any type that is convertible to [`Style`] (e.g. [`Style`], [`Color`], or
/// your own type that implements [`Into<Style>`]). /// your own type that implements [`Into<Style>`]).
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn default_style<S: Into<Style>>(mut self, style: S) -> Self { pub fn default_style<S: Into<Style>>(mut self, style: S) -> Self {
self.default_style = style.into(); self.default_style = style.into();
@ -217,7 +217,7 @@ impl CalendarEventStore {
/// `style` accepts any type that is convertible to [`Style`] (e.g. [`Style`], [`Color`], or /// `style` accepts any type that is convertible to [`Style`] (e.g. [`Style`], [`Color`], or
/// your own type that implements [`Into<Style>`]). /// your own type that implements [`Into<Style>`]).
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
pub fn today<S: Into<Style>>(style: S) -> Self { pub fn today<S: Into<Style>>(style: S) -> Self {
let mut res = Self::default(); let mut res = Self::default();
res.add( res.add(
@ -234,7 +234,7 @@ impl CalendarEventStore {
/// `style` accepts any type that is convertible to [`Style`] (e.g. [`Style`], [`Color`], or /// `style` accepts any type that is convertible to [`Style`] (e.g. [`Style`], [`Color`], or
/// your own type that implements [`Into<Style>`]). /// your own type that implements [`Into<Style>`]).
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
pub fn add<S: Into<Style>>(&mut self, date: Date, style: S) { pub fn add<S: Into<Style>>(&mut self, date: Date, style: S) {
// to simplify style nonsense, last write wins // to simplify style nonsense, last write wins
let _ = self.0.insert(date, style.into()); let _ = self.0.insert(date, style.into());

View file

@ -439,9 +439,7 @@ impl<'a, 'b> From<&'a mut Context<'b>> for Painter<'a, 'b> {
/// Holds the state of the [`Canvas`] when painting to it. /// Holds the state of the [`Canvas`] when painting to it.
/// ///
/// This is used by the [`Canvas`] widget to draw shapes on the grid. It can be useful to think of /// This is used by the [`Canvas`] widget to draw shapes on the grid. It can be useful to think of
/// this as similar to the [`Frame`] struct that is used to draw widgets on the terminal. /// this as similar to the `Frame` struct that is used to draw widgets on the terminal.
///
/// [`Frame`]: crate::Frame
#[derive(Debug)] #[derive(Debug)]
pub struct Context<'a> { pub struct Context<'a> {
x_bounds: [f64; 2], x_bounds: [f64; 2],
@ -530,7 +528,7 @@ impl<'a> Context<'a> {
/// Note that the text is always printed on top of the canvas and is **not** affected by the /// Note that the text is always printed on top of the canvas and is **not** affected by the
/// layers. /// layers.
/// ///
/// [`Text`]: crate::text::Text /// [`Text`]: ratatui_core::text::Text
pub fn print<T>(&mut self, x: f64, y: f64, line: T) pub fn print<T>(&mut self, x: f64, y: f64, line: T)
where where
T: Into<TextLine<'a>>, T: Into<TextLine<'a>>,
@ -711,10 +709,10 @@ where
/// cell. This allows for more flexibility than the `BrailleGrid` which only supports a single /// cell. This allows for more flexibility than the `BrailleGrid` which only supports a single
/// foreground color for each 2x4 dots cell. /// foreground color for each 2x4 dots cell.
/// ///
/// [`Braille`]: crate::symbols::Marker::Braille /// [`Braille`]: ratatui_core::symbols::Marker::Braille
/// [`HalfBlock`]: crate::symbols::Marker::HalfBlock /// [`HalfBlock`]: ratatui_core::symbols::Marker::HalfBlock
/// [`Dot`]: crate::symbols::Marker::Dot /// [`Dot`]: ratatui_core::symbols::Marker::Dot
/// [`Block`]: crate::symbols::Marker::Block /// [`Block`]: ratatui_core::symbols::Marker::Block
/// ///
/// # Examples /// # Examples
/// ///

View file

@ -20,7 +20,7 @@ pub enum MapResolution {
/// ///
/// Contains about 5000 points, you likely want to use [`Marker::Braille`] with this. /// Contains about 5000 points, you likely want to use [`Marker::Braille`] with this.
/// ///
/// [`Marker::Braille`]: (crate::symbols::Marker::Braille) /// [`Marker::Braille`]: (ratatui_core::symbols::Marker::Braille)
High, High,
} }

View file

@ -2,7 +2,7 @@ use ratatui_core::style::Color;
use crate::canvas::{Line, Painter, Shape}; use crate::canvas::{Line, Painter, Shape};
/// A rectangle to draw on a [`Canvas`](crate::widgets::canvas::Canvas) /// A rectangle to draw on a [`Canvas`](crate::canvas::Canvas)
/// ///
/// Sizes used here are **not** in terminal cell. This is much more similar to the /// Sizes used here are **not** in terminal cell. This is much more similar to the
/// mathematic coordinate system. /// mathematic coordinate system.

View file

@ -127,8 +127,8 @@ impl<'a> Axis<'a> {
/// ///
/// # Example /// # Example
/// ///
/// [`Axis`] also implements [`Stylize`](crate::style::Stylize) which mean you can style it /// [`Axis`] also implements [`Stylize`](ratatui_core::style::Stylize) which mean you can style
/// like so /// it like so
/// ///
/// ```rust /// ```rust
/// use ratatui::{style::Stylize, widgets::Axis}; /// use ratatui::{style::Stylize, widgets::Axis};
@ -411,8 +411,8 @@ impl<'a> Dataset<'a> {
/// ///
/// # Example /// # Example
/// ///
/// [`Dataset`] also implements [`Stylize`](crate::style::Stylize) which mean you can style it /// [`Dataset`] also implements [`Stylize`](ratatui_core::style::Stylize) which mean you can
/// like so /// style it like so
/// ///
/// ```rust /// ```rust
/// use ratatui::{style::Stylize, widgets::Dataset}; /// use ratatui::{style::Stylize, widgets::Dataset};

View file

@ -8,7 +8,7 @@ use ratatui_core::{
/// A widget to clear/reset a certain area to allow overdrawing (e.g. for popups). /// A widget to clear/reset a certain area to allow overdrawing (e.g. for popups).
/// ///
/// This widget **cannot be used to clear the terminal on the first render** as `ratatui` assumes /// This widget **cannot be used to clear the terminal on the first render** as `ratatui` assumes
/// the render area is empty. Use [`crate::Terminal::clear`] instead. /// the render area is empty. Use `Terminal::clear` instead.
/// ///
/// # Examples /// # Examples
/// ///

View file

@ -67,7 +67,7 @@
//! //!
//! # License //! # License
//! //!
//! This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. //! This project is licensed under the MIT License. See the [LICENSE](../LICENSE) file for details.
pub mod barchart; pub mod barchart;
pub mod block; pub mod block;
pub mod borders; pub mod borders;

View file

@ -1,10 +1,9 @@
//! The [`List`] widget is used to display a list of items and allows selecting one or multiple //! The [`List`] widget is used to display a list of items and allows selecting one or multiple
//! items. //! items.
pub use self::{item::ListItem, state::ListState};
use ratatui_core::style::{Style, Styled}; use ratatui_core::style::{Style, Styled};
use strum::{Display, EnumString}; use strum::{Display, EnumString};
pub use self::{item::ListItem, state::ListState};
use crate::{block::Block, table::HighlightSpacing}; use crate::{block::Block, table::HighlightSpacing};
mod item; mod item;
@ -19,13 +18,10 @@ mod state;
/// the item's height is automatically determined. A `List` can also be put in reverse order (i.e. /// the item's height is automatically determined. A `List` can also be put in reverse order (i.e.
/// *bottom to top*) whereas a [`Table`] cannot. /// *bottom to top*) whereas a [`Table`] cannot.
/// ///
/// [`Table`]: crate::widgets::Table /// [`Table`]: crate::table::Table
/// ///
/// List items can be aligned using [`Text::alignment`], for more details see [`ListItem`]. /// List items can be aligned using [`Text::alignment`], for more details see [`ListItem`].
/// ///
/// [`List`] implements [`Widget`] and so it can be drawn using
/// [`Frame::render_widget`](crate::terminal::Frame::render_widget).
///
/// [`List`] is also a [`StatefulWidget`], which means you can use it with [`ListState`] to allow /// [`List`] is also a [`StatefulWidget`], which means you can use it with [`ListState`] to allow
/// the user to [scroll] through items and [select] one of them. /// the user to [scroll] through items and [select] one of them.
/// ///
@ -101,12 +97,12 @@ mod state;
/// (0..5).map(|i| format!("Item{i}")).collect::<List>(); /// (0..5).map(|i| format!("Item{i}")).collect::<List>();
/// ``` /// ```
/// ///
/// [`ListState`]: crate::widgets::list::ListState /// [`ListState`]: crate::list::ListState
/// [scroll]: crate::widgets::list::ListState::offset /// [scroll]: crate::list::ListState::offset
/// [select]: crate::widgets::list::ListState::select /// [select]: crate::list::ListState::select
/// [`Text::alignment`]: crate::text::Text::alignment /// [`Text::alignment`]: ratatui_core::text::Text::alignment
/// [`StatefulWidget`]: crate::widgets::StatefulWidget /// [`StatefulWidget`]: ratatui_core::widgets::StatefulWidget
/// [`Widget`]: crate::widgets::Widget /// [`Widget`]: ratatui_core::widgets::Widget
#[derive(Debug, Clone, Eq, PartialEq, Hash, Default)] #[derive(Debug, Clone, Eq, PartialEq, Hash, Default)]
pub struct List<'a> { pub struct List<'a> {
/// An optional block to wrap the widget in /// An optional block to wrap the widget in
@ -184,7 +180,7 @@ impl<'a> List<'a> {
/// let filled_list = empty_list.items(["Item 1"]); /// let filled_list = empty_list.items(["Item 1"]);
/// ``` /// ```
/// ///
/// [`Text`]: crate::text::Text /// [`Text`]: ratatui_core::text::Text
pub fn new<T>(items: T) -> Self pub fn new<T>(items: T) -> Self
where where
T: IntoIterator, T: IntoIterator,
@ -214,7 +210,7 @@ impl<'a> List<'a> {
/// let list = List::default().items(["Item 1", "Item 2"]); /// let list = List::default().items(["Item 1", "Item 2"]);
/// ``` /// ```
/// ///
/// [`Text`]: crate::text::Text /// [`Text`]: ratatui_core::text::Text
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn items<T>(mut self, items: T) -> Self pub fn items<T>(mut self, items: T) -> Self
where where
@ -271,7 +267,7 @@ impl<'a> List<'a> {
/// `List` also implements the [`Styled`] trait, which means you can use style shorthands from /// `List` also implements the [`Styled`] trait, which means you can use style shorthands from
/// the [`Stylize`] trait to set the style of the widget more concisely. /// the [`Stylize`] trait to set the style of the widget more concisely.
/// ///
/// [`Stylize`]: crate::style::Stylize /// [`Stylize`]: ratatui_core::style::Stylize
/// ///
/// ```rust /// ```rust
/// use ratatui::{style::Stylize, widgets::List}; /// use ratatui::{style::Stylize, widgets::List};
@ -280,7 +276,7 @@ impl<'a> List<'a> {
/// let list = List::new(items).red().italic(); /// let list = List::new(items).red().italic();
/// ``` /// ```
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn style<S: Into<Style>>(mut self, style: S) -> Self { pub fn style<S: Into<Style>>(mut self, style: S) -> Self {
self.style = style.into(); self.style = style.into();
@ -330,7 +326,7 @@ impl<'a> List<'a> {
/// let list = List::new(items).highlight_style(Style::new().red().italic()); /// let list = List::new(items).highlight_style(Style::new().red().italic());
/// ``` /// ```
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn highlight_style<S: Into<Style>>(mut self, style: S) -> Self { pub fn highlight_style<S: Into<Style>>(mut self, style: S) -> Self {
self.highlight_style = style.into(); self.highlight_style = style.into();

View file

@ -63,10 +63,10 @@ use ratatui_core::{style::Style, text::Text};
/// ListItem::new(Text::from("foo").right_aligned()); /// ListItem::new(Text::from("foo").right_aligned());
/// ``` /// ```
/// ///
/// [`List`]: crate::widgets::List /// [`List`]: crate::list::List
/// [`Stylize`]: crate::style::Stylize /// [`Stylize`]: ratatui_core::style::Stylize
/// [`Line`]: crate::text::Line /// [`Line`]: ratatui_core::text::Line
/// [`Line::alignment`]: crate::text::Line::alignment /// [`Line::alignment`]: ratatui_core::text::Line::alignment
#[derive(Debug, Clone, Eq, PartialEq, Hash)] #[derive(Debug, Clone, Eq, PartialEq, Hash)]
pub struct ListItem<'a> { pub struct ListItem<'a> {
pub(crate) content: Text<'a>, pub(crate) content: Text<'a>,
@ -107,8 +107,8 @@ impl<'a> ListItem<'a> {
/// ///
/// # See also /// # See also
/// ///
/// - [`List::new`](crate::widgets::List::new) to create a list of items that can be converted /// - [`List::new`](super::List::new) to create a list of items that can be converted to
/// to [`ListItem`] /// [`ListItem`]
pub fn new<T>(content: T) -> Self pub fn new<T>(content: T) -> Self
where where
T: Into<Text<'a>>, T: Into<Text<'a>>,
@ -140,7 +140,7 @@ impl<'a> ListItem<'a> {
/// ``` /// ```
/// ///
/// `ListItem` also implements the [`Styled`] trait, which means you can use style shorthands /// `ListItem` also implements the [`Styled`] trait, which means you can use style shorthands
/// from the [`Stylize`](crate::style::Stylize) trait to set the style of the widget more /// from the [`Stylize`](ratatui_core::style::Stylize) trait to set the style of the widget more
/// concisely. /// concisely.
/// ///
/// ```rust /// ```rust
@ -149,9 +149,9 @@ impl<'a> ListItem<'a> {
/// let item = ListItem::new("Item 1").red().italic(); /// let item = ListItem::new("Item 1").red().italic();
/// ``` /// ```
/// ///
/// [`Styled`]: crate::style::Styled /// [`Styled`]: ratatui_core::style::Styled
/// [`ListState`]: crate::widgets::list::ListState /// [`ListState`]: crate::list::ListState
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn style<S: Into<Style>>(mut self, style: S) -> Self { pub fn style<S: Into<Style>>(mut self, style: S) -> Self {
self.style = style.into(); self.style = style.into();

View file

@ -3,7 +3,7 @@
/// This state can be used to scroll through items and select one. When the list is rendered as a /// This state can be used to scroll through items and select one. When the list is rendered as a
/// stateful widget, the selected item will be highlighted and the list will be shifted to ensure /// stateful widget, the selected item will be highlighted and the list will be shifted to ensure
/// that the selected item is visible. This will modify the [`ListState`] object passed to the /// that the selected item is visible. This will modify the [`ListState`] object passed to the
/// [`Frame::render_stateful_widget`](crate::terminal::Frame::render_stateful_widget) method. /// `Frame::render_stateful_widget` method.
/// ///
/// The state consists of two fields: /// The state consists of two fields:
/// - [`offset`]: the index of the first item to be displayed /// - [`offset`]: the index of the first item to be displayed
@ -41,7 +41,7 @@
/// # } /// # }
/// ``` /// ```
/// ///
/// [`List`]: crate::widgets::List /// [`List`]: super::List
#[derive(Debug, Default, Clone, Eq, PartialEq, Hash)] #[derive(Debug, Default, Clone, Eq, PartialEq, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct ListState { pub struct ListState {

View file

@ -86,7 +86,7 @@ const fn get_line_offset(line_width: u16, text_area_width: u16, alignment: Align
/// .wrap(Wrap { trim: true }); /// .wrap(Wrap { trim: true });
/// ``` /// ```
/// ///
/// [`Span`]: crate::text::Span /// [`Span`]: ratatui_core::text::Span
#[derive(Debug, Default, Clone, Eq, PartialEq, Hash)] #[derive(Debug, Default, Clone, Eq, PartialEq, Hash)]
pub struct Paragraph<'a> { pub struct Paragraph<'a> {
/// A block to wrap the widget in /// A block to wrap the widget in
@ -213,7 +213,7 @@ impl<'a> Paragraph<'a> {
/// let paragraph = Paragraph::new("Hello, world!").style(Style::new().red().on_white()); /// let paragraph = Paragraph::new("Hello, world!").style(Style::new().red().on_white());
/// ``` /// ```
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn style<S: Into<Style>>(mut self, style: S) -> Self { pub fn style<S: Into<Style>>(mut self, style: S) -> Self {
self.style = style.into(); self.style = style.into();

View file

@ -266,7 +266,7 @@ impl<'a> Scrollbar<'a> {
/// ///
/// This is a fluent setter method which must be chained or used as it consumes self /// This is a fluent setter method which must be chained or used as it consumes self
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn thumb_style<S: Into<Style>>(mut self, thumb_style: S) -> Self { pub fn thumb_style<S: Into<Style>>(mut self, thumb_style: S) -> Self {
self.thumb_style = thumb_style.into(); self.thumb_style = thumb_style.into();
@ -293,7 +293,7 @@ impl<'a> Scrollbar<'a> {
/// ///
/// This is a fluent setter method which must be chained or used as it consumes self /// This is a fluent setter method which must be chained or used as it consumes self
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn track_style<S: Into<Style>>(mut self, track_style: S) -> Self { pub fn track_style<S: Into<Style>>(mut self, track_style: S) -> Self {
self.track_style = track_style.into(); self.track_style = track_style.into();
@ -320,7 +320,7 @@ impl<'a> Scrollbar<'a> {
/// ///
/// This is a fluent setter method which must be chained or used as it consumes self /// This is a fluent setter method which must be chained or used as it consumes self
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn begin_style<S: Into<Style>>(mut self, begin_style: S) -> Self { pub fn begin_style<S: Into<Style>>(mut self, begin_style: S) -> Self {
self.begin_style = begin_style.into(); self.begin_style = begin_style.into();
@ -347,7 +347,7 @@ impl<'a> Scrollbar<'a> {
/// ///
/// This is a fluent setter method which must be chained or used as it consumes self /// This is a fluent setter method which must be chained or used as it consumes self
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn end_style<S: Into<Style>>(mut self, end_style: S) -> Self { pub fn end_style<S: Into<Style>>(mut self, end_style: S) -> Self {
self.end_style = end_style.into(); self.end_style = end_style.into();
@ -402,7 +402,7 @@ impl<'a> Scrollbar<'a> {
/// ///
/// This is a fluent setter method which must be chained or used as it consumes self /// This is a fluent setter method which must be chained or used as it consumes self
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn style<S: Into<Style>>(mut self, style: S) -> Self { pub fn style<S: Into<Style>>(mut self, style: S) -> Self {
let style = style.into(); let style = style.into();

View file

@ -24,8 +24,8 @@ use crate::block::{Block, BlockExt};
/// of `None` is interpreted an as the _absence_ of a value. /// of `None` is interpreted an as the _absence_ of a value.
/// ///
/// `Sparkline` can be styled either using [`Sparkline::style`] or preferably using the methods /// `Sparkline` can be styled either using [`Sparkline::style`] or preferably using the methods
/// provided by the [`Stylize`](crate::style::Stylize) trait. The style may be set for the entire /// provided by the [`Stylize`](ratatui_core::style::Stylize) trait. The style may be set for the
/// widget or for individual bars by setting individual [`SparklineBar::style`]. /// entire widget or for individual bars by setting individual [`SparklineBar::style`].
/// ///
/// The bars are rendered using a set of symbols. The default set is [`symbols::bar::NINE_LEVELS`]. /// The bars are rendered using a set of symbols. The default set is [`symbols::bar::NINE_LEVELS`].
/// You can change the set using [`Sparkline::bar_set`]. /// You can change the set using [`Sparkline::bar_set`].
@ -111,7 +111,7 @@ impl<'a> Sparkline<'a> {
/// ///
/// The foreground corresponds to the bars while the background is everything else. /// The foreground corresponds to the bars while the background is everything else.
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn style<S: Into<Style>>(mut self, style: S) -> Self { pub fn style<S: Into<Style>>(mut self, style: S) -> Self {
self.style = style.into(); self.style = style.into();
@ -127,7 +127,7 @@ impl<'a> Sparkline<'a> {
/// ///
/// The foreground corresponds to the bars while the background is everything else. /// The foreground corresponds to the bars while the background is everything else.
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn absent_value_style<S: Into<Style>>(mut self, style: S) -> Self { pub fn absent_value_style<S: Into<Style>>(mut self, style: S) -> Self {
self.absent_value_style = style.into(); self.absent_value_style = style.into();
@ -271,7 +271,7 @@ impl SparklineBar {
/// style. If set, the style of the bar will be the style of the sparkline combined with /// style. If set, the style of the bar will be the style of the sparkline combined with
/// the style of the bar. /// the style of the bar.
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn style<S: Into<Option<Style>>>(mut self, style: S) -> Self { pub fn style<S: Into<Option<Style>>>(mut self, style: S) -> Self {
self.style = style.into(); self.style = style.into();

View file

@ -10,9 +10,8 @@ use ratatui_core::{
widgets::{StatefulWidget, StatefulWidgetRef, Widget, WidgetRef}, widgets::{StatefulWidget, StatefulWidgetRef, Widget, WidgetRef},
}; };
use crate::block::{Block, BlockExt};
pub use self::{cell::Cell, highlight_spacing::HighlightSpacing, row::Row, state::TableState}; pub use self::{cell::Cell, highlight_spacing::HighlightSpacing, row::Row, state::TableState};
use crate::block::{Block, BlockExt};
mod cell; mod cell;
mod highlight_spacing; mod highlight_spacing;
@ -31,7 +30,7 @@ mod state;
/// Make sure to call the [`Table::widths`] method, otherwise the columns will all have a width of 0 /// Make sure to call the [`Table::widths`] method, otherwise the columns will all have a width of 0
/// and thus not be visible. /// and thus not be visible.
/// ///
/// [`Table`] implements [`Widget`] and so it can be drawn using [`Frame::render_widget`]. /// [`Table`] implements [`Widget`] and so it can be drawn using `Frame::render_widget`.
/// ///
/// [`Table`] is also a [`StatefulWidget`], which means you can use it with [`TableState`] to allow /// [`Table`] is also a [`StatefulWidget`], which means you can use it with [`TableState`] to allow
/// the user to scroll through the rows and select one of them. When rendering a [`Table`] with a /// the user to scroll through the rows and select one of them. When rendering a [`Table`] with a
@ -237,9 +236,7 @@ mod state;
/// # } /// # }
/// ``` /// ```
/// ///
/// [`Frame::render_widget`]: crate::Frame::render_widget /// [`Stylize`]: ratatui_core::style::Stylize
/// [`Stylize`]: crate::style::Stylize
/// [`Cell`]: super::Cell
#[derive(Debug, Clone, Eq, PartialEq, Hash)] #[derive(Debug, Clone, Eq, PartialEq, Hash)]
pub struct Table<'a> { pub struct Table<'a> {
/// Data to display in each row /// Data to display in each row
@ -549,8 +546,8 @@ impl<'a> Table<'a> {
/// let table = Table::new(rows, widths).red().italic(); /// let table = Table::new(rows, widths).red().italic();
/// ``` /// ```
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
/// [`Stylize`]: crate::style::Stylize /// [`Stylize`]: ratatui_core::style::Stylize
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn style<S: Into<Style>>(mut self, style: S) -> Self { pub fn style<S: Into<Style>>(mut self, style: S) -> Self {
self.style = style.into(); self.style = style.into();
@ -581,7 +578,7 @@ impl<'a> Table<'a> {
/// let table = Table::new(rows, widths).highlight_style(Style::new().red().italic()); /// let table = Table::new(rows, widths).highlight_style(Style::new().red().italic());
/// ``` /// ```
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
#[deprecated(note = "use `Table::row_highlight_style` instead")] #[deprecated(note = "use `Table::row_highlight_style` instead")]
pub fn highlight_style<S: Into<Style>>(self, highlight_style: S) -> Self { pub fn highlight_style<S: Into<Style>>(self, highlight_style: S) -> Self {
@ -606,7 +603,7 @@ impl<'a> Table<'a> {
/// # let widths = [Constraint::Length(5), Constraint::Length(5)]; /// # let widths = [Constraint::Length(5), Constraint::Length(5)];
/// let table = Table::new(rows, widths).row_highlight_style(Style::new().red().italic()); /// let table = Table::new(rows, widths).row_highlight_style(Style::new().red().italic());
/// ``` /// ```
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn row_highlight_style<S: Into<Style>>(mut self, highlight_style: S) -> Self { pub fn row_highlight_style<S: Into<Style>>(mut self, highlight_style: S) -> Self {
self.row_highlight_style = highlight_style.into(); self.row_highlight_style = highlight_style.into();
@ -631,7 +628,7 @@ impl<'a> Table<'a> {
/// # let widths = [Constraint::Length(5), Constraint::Length(5)]; /// # let widths = [Constraint::Length(5), Constraint::Length(5)];
/// let table = Table::new(rows, widths).column_highlight_style(Style::new().red().italic()); /// let table = Table::new(rows, widths).column_highlight_style(Style::new().red().italic());
/// ``` /// ```
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn column_highlight_style<S: Into<Style>>(mut self, highlight_style: S) -> Self { pub fn column_highlight_style<S: Into<Style>>(mut self, highlight_style: S) -> Self {
self.column_highlight_style = highlight_style.into(); self.column_highlight_style = highlight_style.into();
@ -656,7 +653,7 @@ impl<'a> Table<'a> {
/// # let widths = [Constraint::Length(5), Constraint::Length(5)]; /// # let widths = [Constraint::Length(5), Constraint::Length(5)];
/// let table = Table::new(rows, widths).cell_highlight_style(Style::new().red().italic()); /// let table = Table::new(rows, widths).cell_highlight_style(Style::new().red().italic());
/// ``` /// ```
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn cell_highlight_style<S: Into<Style>>(mut self, highlight_style: S) -> Self { pub fn cell_highlight_style<S: Into<Style>>(mut self, highlight_style: S) -> Self {
self.cell_highlight_style = highlight_style.into(); self.cell_highlight_style = highlight_style.into();
@ -1291,7 +1288,6 @@ mod tests {
}; };
use super::*; use super::*;
use crate::table::{Row, Table, TableState}; use crate::table::{Row, Table, TableState};
#[fixture] #[fixture]
@ -1366,9 +1362,10 @@ mod tests {
#[cfg(test)] #[cfg(test)]
mod render { mod render {
use super::*;
use ratatui_core::layout::Alignment; use ratatui_core::layout::Alignment;
use super::*;
#[test] #[test]
fn render_empty_area() { fn render_empty_area() {
let mut buf = Buffer::empty(Rect::new(0, 0, 15, 3)); let mut buf = Buffer::empty(Rect::new(0, 0, 15, 3));

View file

@ -47,9 +47,9 @@ use ratatui_core::{
/// Cell::new("Cell 1").red().italic(); /// Cell::new("Cell 1").red().italic();
/// ``` /// ```
/// ///
/// [`Row`]: crate::widgets::Row /// [`Row`]: super::Row
/// [`Table`]: crate::widgets::Table /// [`Table`]: super::Table
/// [`Stylize`]: crate::style::Stylize /// [`Stylize`]: ratatui_core::style::Stylize
#[derive(Debug, Default, Clone, Eq, PartialEq, Hash)] #[derive(Debug, Default, Clone, Eq, PartialEq, Hash)]
pub struct Cell<'a> { pub struct Cell<'a> {
content: Text<'a>, content: Text<'a>,
@ -150,9 +150,9 @@ impl<'a> Cell<'a> {
/// Cell::new("Cell 1").red().italic(); /// Cell::new("Cell 1").red().italic();
/// ``` /// ```
/// ///
/// [`Row`]: crate::widgets::Row /// [`Row`]: super::Row
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
/// [`Stylize`]: crate::style::Stylize /// [`Stylize`]: ratatui_core::style::Stylize
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn style<S: Into<Style>>(mut self, style: S) -> Self { pub fn style<S: Into<Style>>(mut self, style: S) -> Self {
self.style = style.into(); self.style = style.into();

View file

@ -67,9 +67,9 @@ use super::Cell;
/// Row::new(cells).red().italic(); /// Row::new(cells).red().italic();
/// ``` /// ```
/// ///
/// [`Table`]: crate::widgets::Table /// [`Table`]: super::Table
/// [`Text`]: crate::text::Text /// [`Text`]: ratatui_core::text::Text
/// [`Stylize`]: crate::style::Stylize /// [`Stylize`]: ratatui_core::style::Stylize
#[derive(Debug, Default, Clone, Eq, PartialEq, Hash)] #[derive(Debug, Default, Clone, Eq, PartialEq, Hash)]
pub struct Row<'a> { pub struct Row<'a> {
pub(crate) cells: Vec<Cell<'a>>, pub(crate) cells: Vec<Cell<'a>>,
@ -231,9 +231,9 @@ impl<'a> Row<'a> {
/// let row = Row::new(cells).red().italic(); /// let row = Row::new(cells).red().italic();
/// ``` /// ```
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
/// [`Stylize`]: crate::style::Stylize /// [`Stylize`]: ratatui_core::style::Stylize
/// [`Text`]: crate::text::Text /// [`Text`]: ratatui_core::text::Text
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn style<S: Into<Style>>(mut self, style: S) -> Self { pub fn style<S: Into<Style>>(mut self, style: S) -> Self {
self.style = style.into(); self.style = style.into();

View file

@ -3,7 +3,7 @@
/// This state can be used to scroll through the rows and select one of them. When the table is /// This state can be used to scroll through the rows and select one of them. When the table is
/// rendered as a stateful widget, the selected row, column and cell will be highlighted and the /// rendered as a stateful widget, the selected row, column and cell will be highlighted and the
/// table will be shifted to ensure that the selected row is visible. This will modify the /// table will be shifted to ensure that the selected row is visible. This will modify the
/// [`TableState`] object passed to the [`Frame::render_stateful_widget`] method. /// [`TableState`] object passed to the `Frame::render_stateful_widget` method.
/// ///
/// The state consists of two fields: /// The state consists of two fields:
/// - [`offset`]: the index of the first row to be displayed /// - [`offset`]: the index of the first row to be displayed
@ -50,9 +50,8 @@
/// Note that if [`Table::widths`] is not called before rendering, the rendered columns will have /// Note that if [`Table::widths`] is not called before rendering, the rendered columns will have
/// equal width. /// equal width.
/// ///
/// [`Table`]: crate::widgets::Table /// [`Table`]: super::Table
/// [`Table::widths`]: crate::widgets::Table::widths /// [`Table::widths`]: crate::table::Table::widths
/// [`Frame::render_stateful_widget`]: crate::Frame::render_stateful_widget
#[derive(Debug, Default, Clone, Eq, PartialEq, Hash)] #[derive(Debug, Default, Clone, Eq, PartialEq, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))] #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct TableState { pub struct TableState {

View file

@ -230,7 +230,7 @@ impl<'a> Tabs<'a> {
/// More precise style can be applied to the titles by styling the ones given to [`Tabs::new`]. /// More precise style can be applied to the titles by styling the ones given to [`Tabs::new`].
/// The selected tab can be styled differently using [`Tabs::highlight_style`]. /// The selected tab can be styled differently using [`Tabs::highlight_style`].
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
pub fn style<S: Into<Style>>(mut self, style: S) -> Self { pub fn style<S: Into<Style>>(mut self, style: S) -> Self {
self.style = style.into(); self.style = style.into();
@ -245,7 +245,7 @@ impl<'a> Tabs<'a> {
/// Highlighted tab can be selected with [`Tabs::select`]. /// Highlighted tab can be selected with [`Tabs::select`].
#[must_use = "method moves the value of self and returns the modified value"] #[must_use = "method moves the value of self and returns the modified value"]
/// ///
/// [`Color`]: crate::style::Color /// [`Color`]: ratatui_core::style::Color
pub fn highlight_style<S: Into<Style>>(mut self, style: S) -> Self { pub fn highlight_style<S: Into<Style>>(mut self, style: S) -> Self {
self.highlight_style = style.into(); self.highlight_style = style.into();
self self