mirror of
https://github.com/nushell/reedline.git
synced 2024-10-27 01:45:51 +03:00
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:
parent
987a38e9b4
commit
8b5e70fc0e
@ -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);
|
||||||
|
|
||||||
|
@ -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 {
|
||||||
|
Loading…
Reference in New Issue
Block a user