Removing low-usage wrapper methods from editor.rs

Removes LineBuffer wrappers from Editor wherever the wrapper is used
only once, or only internally to the `editor.rs` file.
This commit is contained in:
Ben Parks 2022-08-04 23:38:43 -07:00
parent 987a38e9b4
commit 8b5e70fc0e
No known key found for this signature in database
GPG Key ID: 60FCA9A08B557839
2 changed files with 18 additions and 49 deletions

View File

@ -51,7 +51,7 @@ impl Editor {
EditCommand::MoveBigWordRightStart => self.line_buffer.move_big_word_right_start(), EditCommand::MoveBigWordRightStart => self.line_buffer.move_big_word_right_start(),
EditCommand::MoveWordRightEnd => self.line_buffer.move_word_right_end(), EditCommand::MoveWordRightEnd => self.line_buffer.move_word_right_end(),
EditCommand::MoveBigWordRightEnd => self.line_buffer.move_big_word_right_end(), EditCommand::MoveBigWordRightEnd => self.line_buffer.move_big_word_right_end(),
EditCommand::InsertChar(c) => self.insert_char(*c), EditCommand::InsertChar(c) => self.line_buffer.insert_char(*c),
EditCommand::InsertString(str) => self.line_buffer.insert_str(str), EditCommand::InsertString(str) => self.line_buffer.insert_str(str),
EditCommand::InsertNewline => self.line_buffer.insert_newline(), EditCommand::InsertNewline => self.line_buffer.insert_newline(),
EditCommand::ReplaceChar(chr) => self.replace_char(*chr), EditCommand::ReplaceChar(chr) => self.replace_char(*chr),
@ -118,18 +118,6 @@ impl Editor {
pub fn move_line_down(&mut self) { pub fn move_line_down(&mut self) {
self.line_buffer.move_line_down(); self.line_buffer.move_line_down();
}
pub fn insert_char(&mut self, c: char) {
self.line_buffer.insert_char(c);
}
/// Directly change the cursor position measured in bytes in the buffer
///
/// ## Unicode safety:
/// Not checked, inproper use may cause panics in following operations
pub(crate) fn set_insertion_point(&mut self, pos: usize) {
self.line_buffer.set_insertion_point(pos);
self.update_undo_state(UndoBehavior::MoveCursor); self.update_undo_state(UndoBehavior::MoveCursor);
} }
@ -142,21 +130,6 @@ impl Editor {
self.update_undo_state(undo_behavior); self.update_undo_state(undo_behavior);
} }
pub fn clear_to_end(&mut self) {
self.line_buffer.clear_to_end();
}
fn clear_to_insertion_point(&mut self) {
self.line_buffer.clear_to_insertion_point();
}
fn clear_range<R>(&mut self, range: R)
where
R: std::ops::RangeBounds<usize>,
{
self.line_buffer.clear_range(range);
}
pub fn insertion_point(&self) -> usize { pub fn insertion_point(&self) -> usize {
self.line_buffer.insertion_point() self.line_buffer.insertion_point()
} }
@ -165,10 +138,6 @@ impl Editor {
self.line_buffer.is_empty() self.line_buffer.is_empty()
} }
pub fn is_cursor_at_first_line(&self) -> bool {
self.line_buffer.is_cursor_at_first_line()
}
pub fn is_cursor_at_last_line(&self) -> bool { pub fn is_cursor_at_last_line(&self) -> bool {
self.line_buffer.is_cursor_at_last_line() self.line_buffer.is_cursor_at_last_line()
} }
@ -230,8 +199,8 @@ impl Editor {
let cut_slice = &self.line_buffer.get_buffer()[deletion_range.clone()]; let cut_slice = &self.line_buffer.get_buffer()[deletion_range.clone()];
if !cut_slice.is_empty() { if !cut_slice.is_empty() {
self.cut_buffer.set(cut_slice, ClipboardMode::Lines); self.cut_buffer.set(cut_slice, ClipboardMode::Lines);
self.set_insertion_point(deletion_range.start); self.line_buffer.set_insertion_point(deletion_range.start);
self.clear_range(deletion_range); self.line_buffer.clear_range(deletion_range);
} }
} }
@ -242,7 +211,7 @@ impl Editor {
&self.line_buffer.get_buffer()[..insertion_offset], &self.line_buffer.get_buffer()[..insertion_offset],
ClipboardMode::Normal, ClipboardMode::Normal,
); );
self.clear_to_insertion_point(); self.line_buffer.clear_to_insertion_point();
} }
} }
@ -257,11 +226,11 @@ impl Editor {
} }
} }
pub fn cut_from_end(&mut self) { fn cut_from_end(&mut self) {
let cut_slice = &self.line_buffer.get_buffer()[self.line_buffer.insertion_point()..]; let cut_slice = &self.line_buffer.get_buffer()[self.line_buffer.insertion_point()..];
if !cut_slice.is_empty() { if !cut_slice.is_empty() {
self.cut_buffer.set(cut_slice, ClipboardMode::Normal); self.cut_buffer.set(cut_slice, ClipboardMode::Normal);
self.clear_to_end(); self.line_buffer.clear_to_end();
} }
} }
@ -283,7 +252,7 @@ impl Editor {
&self.line_buffer.get_buffer()[cut_range.clone()], &self.line_buffer.get_buffer()[cut_range.clone()],
ClipboardMode::Normal, ClipboardMode::Normal,
); );
self.clear_range(cut_range); self.line_buffer.clear_range(cut_range);
self.line_buffer.set_insertion_point(left_index); self.line_buffer.set_insertion_point(left_index);
} }
} }
@ -297,7 +266,7 @@ impl Editor {
&self.line_buffer.get_buffer()[cut_range.clone()], &self.line_buffer.get_buffer()[cut_range.clone()],
ClipboardMode::Normal, ClipboardMode::Normal,
); );
self.clear_range(cut_range); self.line_buffer.clear_range(cut_range);
self.line_buffer.set_insertion_point(left_index); self.line_buffer.set_insertion_point(left_index);
} }
} }
@ -311,7 +280,7 @@ impl Editor {
&self.line_buffer.get_buffer()[cut_range.clone()], &self.line_buffer.get_buffer()[cut_range.clone()],
ClipboardMode::Normal, ClipboardMode::Normal,
); );
self.clear_range(cut_range); self.line_buffer.clear_range(cut_range);
} }
} }
@ -324,7 +293,7 @@ impl Editor {
&self.line_buffer.get_buffer()[cut_range.clone()], &self.line_buffer.get_buffer()[cut_range.clone()],
ClipboardMode::Normal, ClipboardMode::Normal,
); );
self.clear_range(cut_range); self.line_buffer.clear_range(cut_range);
} }
} }
@ -337,7 +306,7 @@ impl Editor {
&self.line_buffer.get_buffer()[cut_range.clone()], &self.line_buffer.get_buffer()[cut_range.clone()],
ClipboardMode::Normal, ClipboardMode::Normal,
); );
self.clear_range(cut_range); self.line_buffer.clear_range(cut_range);
} }
} }
@ -350,7 +319,7 @@ impl Editor {
&self.line_buffer.get_buffer()[cut_range.clone()], &self.line_buffer.get_buffer()[cut_range.clone()],
ClipboardMode::Normal, ClipboardMode::Normal,
); );
self.clear_range(cut_range); self.line_buffer.clear_range(cut_range);
} }
} }
@ -363,7 +332,7 @@ impl Editor {
&self.line_buffer.get_buffer()[cut_range.clone()], &self.line_buffer.get_buffer()[cut_range.clone()],
ClipboardMode::Normal, ClipboardMode::Normal,
); );
self.clear_range(cut_range); self.line_buffer.clear_range(cut_range);
} }
} }
@ -493,7 +462,7 @@ mod test {
#[case("abc def.ghi", 11, "abc ")] #[case("abc def.ghi", 11, "abc ")]
fn test_cut_word_left(#[case] input: &str, #[case] position: usize, #[case] expected: &str) { fn test_cut_word_left(#[case] input: &str, #[case] position: usize, #[case] expected: &str) {
let mut editor = editor_with(input); let mut editor = editor_with(input);
editor.set_insertion_point(position); editor.line_buffer.set_insertion_point(position);
editor.cut_word_left(); editor.cut_word_left();
@ -510,7 +479,7 @@ mod test {
#[case] expected: &str, #[case] expected: &str,
) { ) {
let mut editor = editor_with(input); let mut editor = editor_with(input);
editor.set_insertion_point(position); editor.line_buffer.set_insertion_point(position);
editor.cut_big_word_left(); editor.cut_big_word_left();
@ -529,7 +498,7 @@ mod test {
#[case] expected: &str, #[case] expected: &str,
) { ) {
let mut editor = editor_with(input); let mut editor = editor_with(input);
editor.set_insertion_point(position); editor.line_buffer.set_insertion_point(position);
editor.replace_char(replacement); editor.replace_char(replacement);

View File

@ -888,7 +888,7 @@ impl Reedline {
} }
} }
if self.editor.line_buffer().get_buffer().is_empty() { if self.editor.get_buffer().is_empty() {
menu.menu_event(MenuEvent::Deactivate); menu.menu_event(MenuEvent::Deactivate);
} else { } else {
menu.menu_event(MenuEvent::Edit(self.quick_completions)); menu.menu_event(MenuEvent::Edit(self.quick_completions));
@ -1138,7 +1138,7 @@ impl Reedline {
fn up_command(&mut self) { fn up_command(&mut self) {
// If we're at the top, then: // If we're at the top, then:
if self.editor.is_cursor_at_first_line() { if self.editor.line_buffer().is_cursor_at_first_line() {
// If we're at the top, move to previous history // If we're at the top, move to previous history
self.previous_history(); self.previous_history();
} else { } else {