pub struct CursorNavigator<'a> { /* private fields */ }Expand description
Cursor navigation helper for rope-backed text.
Implementations§
Sourcepub fn clamp(&self, pos: CursorPosition) -> CursorPosition
pub fn clamp(&self, pos: CursorPosition) -> CursorPosition
Clamp an arbitrary position to valid ranges.
Sourcepub fn from_line_grapheme(&self, line: usize, grapheme: usize) -> CursorPosition
pub fn from_line_grapheme(&self, line: usize, grapheme: usize) -> CursorPosition
Build a position from line + grapheme index.
Sourcepub fn from_visual_col(&self, line: usize, visual_col: usize) -> CursorPosition
pub fn from_visual_col(&self, line: usize, visual_col: usize) -> CursorPosition
Build a position from line + visual column.
Sourcepub fn to_byte_index(&self, pos: CursorPosition) -> usize
pub fn to_byte_index(&self, pos: CursorPosition) -> usize
Convert a cursor position to a byte index into the rope.
Sourcepub fn from_byte_index(&self, byte_idx: usize) -> CursorPosition
pub fn from_byte_index(&self, byte_idx: usize) -> CursorPosition
Convert a byte index into a cursor position.
Sourcepub fn move_left(&self, pos: CursorPosition) -> CursorPosition
pub fn move_left(&self, pos: CursorPosition) -> CursorPosition
Move cursor left by one grapheme (across line boundaries).
Sourcepub fn move_right(&self, pos: CursorPosition) -> CursorPosition
pub fn move_right(&self, pos: CursorPosition) -> CursorPosition
Move cursor right by one grapheme (across line boundaries).
Sourcepub fn move_up(&self, pos: CursorPosition) -> CursorPosition
pub fn move_up(&self, pos: CursorPosition) -> CursorPosition
Move cursor up one line, preserving visual column.
Sourcepub fn move_down(&self, pos: CursorPosition) -> CursorPosition
pub fn move_down(&self, pos: CursorPosition) -> CursorPosition
Move cursor down one line, preserving visual column.
Sourcepub fn line_start(&self, pos: CursorPosition) -> CursorPosition
pub fn line_start(&self, pos: CursorPosition) -> CursorPosition
Move cursor to start of line.
Sourcepub fn line_end(&self, pos: CursorPosition) -> CursorPosition
pub fn line_end(&self, pos: CursorPosition) -> CursorPosition
Move cursor to end of line.
Sourcepub fn document_start(&self) -> CursorPosition
pub fn document_start(&self) -> CursorPosition
Move cursor to start of document.
Sourcepub fn document_end(&self) -> CursorPosition
pub fn document_end(&self) -> CursorPosition
Move cursor to end of document.
Sourcepub fn move_word_left(&self, pos: CursorPosition) -> CursorPosition
pub fn move_word_left(&self, pos: CursorPosition) -> CursorPosition
Move cursor left by one word boundary.
Sourcepub fn move_word_right(&self, pos: CursorPosition) -> CursorPosition
pub fn move_word_right(&self, pos: CursorPosition) -> CursorPosition
Move cursor right by one word boundary.
Trait Implementations§
Source§fn clone(&self) -> CursorNavigator<'a>
fn clone(&self) -> CursorNavigator<'a>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more