pub struct Rule { /* private fields */ }Expand description
A horizontal rule, optionally titled. Mirrors rich.rule.Rule.
Implementations§
Source§impl Rule
impl Rule
Sourcepub fn with_title_text(title: Text) -> Self
pub fn with_title_text(title: Text) -> Self
A rule titled with a literal Text (upstream Rule(Text(…))): no
markup, and no rule.text style beneath it.
Sourcepub fn end(self, end: impl Into<String>) -> Self
pub fn end(self, end: impl Into<String>) -> Self
What follows a titled rule (upstream end, default "\n"). As
upstream, an untitled rule ignores it. The port’s renderables separate
lines rather than ending them, so one trailing newline of end is the
line end the printer adds; a printed rule whose end has none leaves
the line open, as upstream’s does.
Sourcepub fn characters(self, characters: impl Into<String>) -> Self
pub fn characters(self, characters: impl Into<String>) -> Self
Override the fill character(s).
Sourcepub fn style(self, style: impl Into<StyleType>) -> Self
pub fn style(self, style: impl Into<StyleType>) -> Self
Override the rule style: a [Style], or a theme name / definition
(default "rule.line").
Sourcepub fn align(self, align: HorizontalAlign) -> Self
pub fn align(self, align: HorizontalAlign) -> Self
Set the title alignment (default center).
Source§impl Rule
Read access to a rule’s title and alignment: upstream’s public Rule
fields. Not upstream as methods; they change nothing.
impl Rule
Read access to a rule’s title and alignment: upstream’s public Rule
fields. Not upstream as methods; they change nothing.
use rich::{HorizontalAlign, Rule};
use rich::table::Cell;
let rule = Rule::new("Next").align(HorizontalAlign::Left);
assert!(matches!(rule.get_title(), Some(Cell::Markup(t)) if t == "Next"));
assert_eq!(rule.get_align(), HorizontalAlign::Left);
assert!(Rule::line().get_title().is_none());Sourcepub fn get_title(&self) -> Option<Cell>
pub fn get_title(&self) -> Option<Cell>
The title (upstream Rule.title): a Cell::Text
for with_title_text, else a
Cell::Markup; None for a plain line.
Sourcepub fn get_align(&self) -> HorizontalAlign
pub fn get_align(&self) -> HorizontalAlign
The title’s alignment (upstream Rule.align).
Trait Implementations§
Source§impl Renderable for Rule
impl Renderable for Rule
Source§fn measure(&self, _console: &Console, _options: &ConsoleOptions) -> Measurement
fn measure(&self, _console: &Console, _options: &ConsoleOptions) -> Measurement
Port of Rule.__rich_measure__: a rule fits any width, so it asks for
a single cell and never widens a fitted container.
Source§fn print_end_line(&self, options: &ConsoleOptions) -> bool
fn print_end_line(&self, options: &ConsoleOptions) -> bool
A titled rule ends with its end, which upstream yields as is: an
end without a trailing newline leaves the line open.
fn rich_render( &self, console: &Console, options: &ConsoleOptions, ) -> Vec<Segment>
Source§fn fit_to_measurement(&self) -> bool
fn fit_to_measurement(&self) -> bool
Console::print shrinks this renderable to its
measured width. Upstream renders every top-level renderable at the full
console width, so the default is false; an extension may opt in.