Skip to main content

TextViewStyle

Struct TextViewStyle 

Source
pub struct TextViewStyle { /* private fields */ }
Expand description

TextViewStyle used to customize the style for super::TextView.

The fields are private because this type crosses the gpui-base seam: build one with the with_* methods and read it back through the accessors of the same name, so a later field is an additive change rather than a breaking one.

Implementations§

Source§

impl TextViewStyle

Source

pub fn from_theme(theme: &Theme) -> Self

Derives rich-text colors from Base semantic theme tokens.

Source

pub fn with_foreground(self, color: Hsla) -> Self

Sets the default body-text color.

Source

pub fn with_muted_foreground(self, color: Hsla) -> Self

Sets the secondary text color.

Sets the link text color.

Source

pub fn with_selection(self, color: Hsla) -> Self

Sets the background painted behind selected text.

Selection quads are painted under the glyphs, so this is normally a translucent wash rather than a solid fill.

Source

pub fn with_code_background(self, color: Hsla) -> Self

Sets the background of fenced code blocks and table header rows.

Source

pub fn with_border(self, color: Hsla) -> Self

Sets the color of borders and horizontal rules.

Source

pub fn with_paragraph_gap(self, gap: Rems) -> Self

Sets the gap between paragraphs. Defaults to 0.75 rem.

Source

pub fn with_heading<F>(self, heading: F) -> Self
where F: Fn(u8) -> StyleRefinement + Send + Sync + 'static,

Sets the style refinement for headings, selected by heading level (1-6).

Source

pub fn with_code_block(self, style: StyleRefinement) -> Self

Sets the style refinement for code blocks.

Set overflow.y to Overflow::Scroll together with a max height to scroll long code inside the block: it gets its own scrollbar, and wheel input over it no longer scrolls an ancestor list until the code reaches its edge.

Source

pub fn with_inline_code(self, style: HighlightStyle) -> Self

Sets the highlight style for inline code spans.

When background_color is None, the neutral code background is used, which keeps TextViewStyle::default usable without a theme.

Source

pub fn with_inline_code_style(self, style: StyleRefinement) -> Self

Overrides inline code typography and its box presentation.

Supports font family, size, features, fallbacks, weight, style, color, underline and strikethrough, background, border widths/color/style, corner radii, and padding. Sizes and padding resolve pixels/rem against the window. Unspecified properties keep the existing defaults. Box layout, margin, positioning, overflow, and interaction properties are not used. Line height remains owned by the paragraph. Non-finite or non-positive font sizes are ignored. Explicit refinements also take precedence on inverted surfaces.

Source

pub fn with_list_style(self, style: StyleRefinement) -> Self

Refines the marker of a bullet or numbered list item.

Applied to the marker column after its defaults: the muted text color, a minimum width of the list indent, right-aligned text, and a right padding of 0.3 times that indent. Text properties such as color, font family, size, and weight style the bullet or number. The text color also outlines an unchecked task-list checkbox; a checked one keeps the link color. Unspecified properties keep the existing defaults, and explicit refinements also take precedence on inverted surfaces.

Source

pub fn with_blockquote_style(self, style: StyleRefinement) -> Self

Refines the blockquote container.

Applied after its defaults: the muted text color, a 2px left border in the border color, and a left padding of 0.9 times the body font size. Border widths and color style the quote bar; text properties, background, padding, and corner radii style the quote and its contents. Child blocks keep properties they set explicitly, including heading and table font sizes. Unspecified properties keep the existing defaults, and explicit refinements also take precedence on inverted surfaces.

Source

pub fn with_table(self, style: StyleRefinement) -> Self

Sets the style refinement for the table container (the bordered wrapper in wrap mode, the scroll viewport in horizontal-scroll mode).

Set overflow_x: scroll on the refinement for adaptive table layout: columns fit their content when space allows, shrink (wrapping cell text) down to a per-column floor when the frame is narrower, and below that the table scrolls horizontally instead of squeezing further.

Source

pub fn with_table_head(self, style: StyleRefinement) -> Self

Sets the style refinement for the header row (the first row) of a table, applied on top of the header background and foreground.

Source

pub fn with_table_cell(self, style: StyleRefinement) -> Self

Sets the style refinement for each table cell.

With the scroll table layout, white_space: nowrap here keeps cells on a single line — columns then never shrink and the table scrolls as soon as the content is wider than the frame.

Source

pub fn with_dark(self, is_dark: bool) -> Self

Sets whether content-specific assets should use their dark variant.

Source

pub fn foreground(&self) -> Hsla

The default body-text color.

Source

pub fn muted_foreground(&self) -> Hsla

The secondary text color.

The link text color.

Source

pub fn selection(&self) -> Hsla

The background painted behind selected text.

Source

pub fn code_background(&self) -> Hsla

The background of fenced code blocks and table header rows.

Source

pub fn border(&self) -> Hsla

The color of borders and horizontal rules.

Source

pub fn paragraph_gap(&self) -> Rems

The gap between paragraphs.

Source

pub fn heading(&self, level: u8) -> StyleRefinement

The style refinement for a heading at level (1-6).

Source

pub fn code_block(&self) -> &StyleRefinement

The style refinement for code blocks.

Source

pub fn table(&self) -> &StyleRefinement

The style refinement for the table container.

Source

pub fn table_head(&self) -> &StyleRefinement

The style refinement for table header rows.

Source

pub fn table_cell(&self) -> &StyleRefinement

The style refinement for table cells.

Source

pub fn inline_code(&self) -> HighlightStyle

The highlight style for inline code, before the code-background fallback in Self::inline_code_highlight applies.

Source

pub fn inline_code_style(&self) -> &StyleRefinement

Explicit inline code typography and box refinements.

Source

pub fn list_style(&self) -> &StyleRefinement

Explicit list marker refinements.

Source

pub fn blockquote_style(&self) -> &StyleRefinement

Explicit blockquote refinements.

Source

pub fn is_dark(&self) -> bool

Whether content-specific assets should use their dark variant.

Trait Implementations§

Source§

impl Clone for TextViewStyle

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Default for TextViewStyle

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for TextViewStyle

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> NoneValue for T
where T: Default,

Source§

type NoneType = T

Source§

fn null_value() -> T

The none-equivalent value.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<R, P> ReadPrimitive<R> for P
where R: Read + ReadEndian<P>, P: Default,

Source§

fn read_from_little_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_little_endian().
Source§

fn read_from_big_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_big_endian().
Source§

fn read_from_native_endian(read: &mut R) -> Result<Self, Error>

Read this value from the supplied reader. Same as ReadEndian::read_from_native_endian().
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more