Skip to main content

ListChars

Struct ListChars 

Source
pub struct ListChars {
    pub tab_lead: char,
    pub tab_fill: Option<char>,
    pub space: Option<char>,
    pub trail: Option<char>,
    pub eol: Option<char>,
    pub nbsp: Option<char>,
    pub extends: Option<char>,
    pub precedes: Option<char>,
}
Expand description

Invisibles rendering configuration for :set list / :set listchars.

Re-exported from hjkl_buffer::ListChars so callers programming to the engine surface don’t need to import hjkl-buffer directly. Invisibles rendering configuration. Matches vim’s :set listchars.

When :set list is on, the render layer substitutes whitespace characters with the glyphs configured here. None fields mean “no substitution / not rendered”.

Default matches vim’s built-in default: tab:^I,eol:$.

Fields§

§tab_lead: char

Leading char of a tab expansion (required). E.g. > in tab:>-.

§tab_fill: Option<char>

Fill char repeated to next tabstop. None = single-glyph tab (no fill).

§space: Option<char>

Substitution for regular spaces. None = no substitution (vim default).

§trail: Option<char>

Substitution for trailing whitespace. None = falls back to space or no render.

§eol: Option<char>

Marker appended after the last char on each line. None = no marker.

§nbsp: Option<char>

Substitution for non-breaking spaces (\u{00a0}). None = no substitution.

§extends: Option<char>

Char shown at the right edge when a line extends beyond the viewport (no-wrap mode). None = no marker. TODO: deferred — requires viewport edge integration.

§precedes: Option<char>

Char shown at the left edge when the viewport is scrolled right past the line start. None = no marker. TODO: deferred — requires viewport edge integration.

Implementations§

Source§

impl ListChars

Source

pub fn parse(s: &str) -> Result<ListChars, String>

Parse a vim-style listchars value string.

Accepts comma-separated key:value pairs where value is one or two chars (UTF-8). tab is the only key that may have two chars (tab:lead_fill); all others take exactly one char.

Returns Err(String) with a diagnostic on unknown keys or bad values.

Source

pub fn to_canonical_string(&self) -> String

Canonical string form for :set listchars?.

Emits only the fields that are set (non-None), always in the order: tab, space, trail, eol, nbsp, extends, precedes.

Trait Implementations§

Source§

impl Clone for ListChars

Source§

fn clone(&self) -> ListChars

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 Debug for ListChars

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for ListChars

Source§

fn default() -> ListChars

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

impl PartialEq for ListChars

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ListChars

Source§

impl StructuralPartialEq for ListChars

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<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> 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> 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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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<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