Decode escaped newlines in history command (#592)

Reedline currently encodes newlines as `<\n>`
This commit is contained in:
Stefan Holderbach 2021-12-27 00:11:08 +01:00 committed by GitHub
parent e62e0fb679
commit 39f03bf5e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,6 +4,12 @@ use nu_protocol::{
Category, IntoInterruptiblePipelineData, PipelineData, ShellError, Signature, Value,
};
const NEWLINE_ESCAPE_CODE: &str = "<\\n>";
fn decode_newlines(escaped: &str) -> String {
escaped.replace(NEWLINE_ESCAPE_CODE, "\n")
}
#[derive(Clone)]
pub struct History;
@ -48,7 +54,7 @@ impl Command for History {
Ok(contents
.lines()
.map(move |x| Value::String {
val: x.to_string(),
val: decode_newlines(x),
span: head,
})
.collect::<Vec<_>>()