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: FoldStrategyHow fold regions are found; the app sets it from the language.
read_only: boolEdits 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: IndentIndentation and tab width (from the preferences, or detected).
indent_set: boolindent was detected from the file or chosen for it, so changing
the preferences leaves it alone.
indent_mixed: boolSome lines are indented with tabs and others with spaces.
meta: FileMetaImplementations§
Source§impl Buffer
impl Buffer
pub fn id(&self) -> BufferId
pub fn doc(&self) -> &Document
pub fn history(&self) -> &History
pub fn bookmarks(&self) -> &Bookmarks
Sourcepub fn set_bookmarks(&mut self, lines: impl IntoIterator<Item = usize>)
pub fn set_bookmarks(&mut self, lines: impl IntoIterator<Item = usize>)
Replaces the bookmarks (a session restoring them); lines past the end are dropped.
Sourcepub fn toggle_bookmark(&mut self, line: usize) -> bool
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.
Sourcepub fn revision(&self) -> Revision
pub fn revision(&self) -> Revision
Identifies the current text state; returns to an earlier value on undo.
pub fn is_dirty(&self) -> bool
Sourcepub fn mark_saved(&mut self)
pub fn mark_saved(&mut self)
Records that the current state is what is on disk.
Sourcepub fn mark_saved_at(&mut self, revision: Revision)
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).
Sourcepub fn saved_history(&self, max_bytes: usize) -> SavedHistory
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.
Sourcepub fn restore_history(
&mut self,
saved: SavedHistory,
on_disk: bool,
) -> Result<(), String>
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.
Sourcepub fn clear_history(&mut self)
pub fn clear_history(&mut self)
Forgets the undo and redo history.
Sourcepub fn mark_modified(&mut self)
pub fn mark_modified(&mut self)
Marks the buffer as differing from disk, e.g. when its text was restored from a backup snapshot.
Sourcepub fn take_line_edits(&mut self) -> Vec<LineEdit>
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).