Various line editor fixes and optimizations
This commit is contained in:
@@ -1,18 +1,12 @@
|
||||
use std::collections::VecDeque;
|
||||
|
||||
use crate::{
|
||||
libsh::{
|
||||
expand::expand_prompt, libsh::{
|
||||
error::ShErr,
|
||||
term::{Style, Styled},
|
||||
},
|
||||
prompt::readline::{
|
||||
history::History,
|
||||
keys::{KeyCode, KeyEvent, ModKeys},
|
||||
linebuf::LineBuf,
|
||||
term::{raw_mode, KeyReader, LineWriter},
|
||||
vimode::{ViInsert, ViMode, ViNormal},
|
||||
ShedVi,
|
||||
},
|
||||
}, prompt::readline::{
|
||||
Prompt, ShedVi, history::History, keys::{KeyCode, KeyEvent, ModKeys}, linebuf::LineBuf, term::{KeyReader, LineWriter, raw_mode}, vimode::{ViInsert, ViMode, ViNormal}
|
||||
}
|
||||
};
|
||||
|
||||
use pretty_assertions::assert_eq;
|
||||
@@ -255,6 +249,13 @@ fn linebuf_ascii_content() {
|
||||
assert_eq!(buf.slice_from(2), Some("llo"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn expand_default_prompt() {
|
||||
let prompt = expand_prompt("\\e[0m\\n\\e[1;0m\\u\\e[1;36m@\\e[1;31m\\h\\n\\e[1;36m\\W\\e[1;32m/\\n\\e[1;32m\\$\\e[0m ".into()).unwrap();
|
||||
|
||||
insta::assert_debug_snapshot!(prompt)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn linebuf_unicode_graphemes() {
|
||||
let mut buf = LineBuf::new().with_initial("a🇺🇸b́c", 0);
|
||||
@@ -598,7 +599,7 @@ fn editor_delete_line_up() {
|
||||
"dk",
|
||||
LOREM_IPSUM,
|
||||
237),
|
||||
("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\nExcepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\nCurabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius, turpis et commodo pharetra.".into(), 240,)
|
||||
("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\nExcepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\nCurabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius, turpis et commodo pharetra.".into(), 129,)
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user