Skip to main content

Buffer

Struct Buffer 

Source
pub struct Buffer {
    pub language: Option<String>,
    pub fold_strategy: FoldStrategy,
    pub read_only: bool,
    pub comments: Option<CommentSyntax>,
    pub indent: Indent,
    pub indent_set: bool,
    pub indent_mixed: bool,
    pub meta: FileMeta,
    /* private fields */
}

Fields§

§language: Option<String>§fold_strategy: FoldStrategy

How fold regions are found; the app sets it from the language.

§read_only: bool

Edits are refused (a compare view’s copy of a file on disk).

§comments: Option<CommentSyntax>

The language’s comment markers, for toggling comments; the app sets them from the language.

§indent: Indent

Indentation and tab width (from the preferences, or detected).

§indent_set: bool

indent was detected from the file or chosen for it, so changing the preferences leaves it alone.

§indent_mixed: bool

Some lines are indented with tabs and others with spaces.

§meta: FileMeta

Implementations§

Source§

impl Buffer

Source

pub fn id(&self) -> BufferId

Source

pub fn doc(&self) -> &Document

Source

pub fn history(&self) -> &History

Source

pub fn bookmarks(&self) -> &Bookmarks

Source

pub fn set_bookmarks(&mut self, lines: impl IntoIterator<Item = usize>)

Replaces the bookmarks (a session restoring them); lines past the end are dropped.

Source

pub fn toggle_bookmark(&mut self, line: usize) -> bool

Bookmarks line, or removes its bookmark (a click in the margin); returns whether it has one now.

Source

pub fn revision(&self) -> Revision

Identifies the current text state; returns to an earlier value on undo.

Source

pub fn is_dirty(&self) -> bool

Source

pub fn mark_saved(&mut self)

Records that the current state is what is on disk.

Source

pub fn mark_saved_at(&mut self, revision: Revision)

Records that revision is what is on disk (a background save of an earlier state finished; the buffer stays dirty if it changed since).

Source

pub fn saved_history(&self, max_bytes: usize) -> SavedHistory

The history to keep between sessions: the newest steps within about max_bytes, ending at the current text.

Source

pub fn restore_history( &mut self, saved: SavedHistory, on_disk: bool, ) -> Result<(), String>

Takes a history kept from an earlier session for this same text (the caller compares the text’s hash first). It is checked step by step against the text ([SavedHistory::check]) and refused if anything does not fit. on_disk: the text is the file’s (so undoing and redoing back to it leaves the buffer clean); otherwise the buffer stays unsaved.

Source

pub fn clear_history(&mut self)

Forgets the undo and redo history.

Source

pub fn mark_modified(&mut self)

Marks the buffer as differing from disk, e.g. when its text was restored from a backup snapshot.

Source

pub fn take_line_edits(&mut self) -> Vec<LineEdit>

How the lines changed since the last call, in the order the edits were applied (for incremental highlighting).

Trait Implementations§

Source§

impl Debug for Buffer

Source§

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

Formats the value using the given formatter. 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<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Same for T

Source§

type Output = T

Should always be Self
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.