Unnamed repository; edit this file 'description' to name the repository.
refactor(commands): trim end of `pipe`-like output (#10952)
RoloEdits 2024-07-13
parent a75b1cf · commit fd7b1a3
-rw-r--r--helix-term/src/commands.rs1
-rw-r--r--helix-term/tests/test/commands.rs29
2 files changed, 11 insertions, 19 deletions
diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs
index 5f73a23c..f25e8254 100644
--- a/helix-term/src/commands.rs
+++ b/helix-term/src/commands.rs
@@ -5757,6 +5757,7 @@ fn shell(cx: &mut compositor::Context, cmd: &str, behavior: &ShellBehavior) {
let fragment = range.slice(text);
match shell_impl(shell, cmd, pipe.then(|| fragment.into())) {
Ok(result) => {
+ let result = Tendril::from(result.trim_end());
if !pipe {
shell_output = Some(result.clone());
}
diff --git a/helix-term/tests/test/commands.rs b/helix-term/tests/test/commands.rs
index 7f41a221..9f196827 100644
--- a/helix-term/tests/test/commands.rs
+++ b/helix-term/tests/test/commands.rs
@@ -209,13 +209,10 @@ async fn test_multi_selection_shell_commands() -> anyhow::Result<()> {
"},
"|echo foo<ret>",
indoc! {"\
- #[|foo\n]#
-
- #(|foo\n)#
-
- #(|foo\n)#
-
- "},
+ #[|foo]#
+ #(|foo)#
+ #(|foo)#"
+ },
))
.await?;
@@ -228,12 +225,9 @@ async fn test_multi_selection_shell_commands() -> anyhow::Result<()> {
"},
"!echo foo<ret>",
indoc! {"\
- #[|foo\n]#
- lorem
- #(|foo\n)#
- ipsum
- #(|foo\n)#
- dolor
+ #[|foo]#lorem
+ #(|foo)#ipsum
+ #(|foo)#dolor
"},
))
.await?;
@@ -247,12 +241,9 @@ async fn test_multi_selection_shell_commands() -> anyhow::Result<()> {
"},
"<A-!>echo foo<ret>",
indoc! {"\
- lorem#[|foo\n]#
-
- ipsum#(|foo\n)#
-
- dolor#(|foo\n)#
-
+ lorem#[|foo]#
+ ipsum#(|foo)#
+ dolor#(|foo)#
"},
))
.await?;