From 2f66561a8251f8788b2b0fd366af90555ecafc86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E9=9B=85=20misaki=20masa?= Date: Wed, 24 Dec 2025 16:18:11 +0800 Subject: [PATCH] fix: `Command:output()` should set `stderr` to piped instead of `stdin` (#3458) --- yazi-plugin/preset/plugins/file.lua | 2 +- yazi-plugin/preset/plugins/pdf.lua | 1 - yazi-plugin/src/process/command.rs | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/yazi-plugin/preset/plugins/file.lua b/yazi-plugin/preset/plugins/file.lua index fc0e1009..e502bf31 100644 --- a/yazi-plugin/preset/plugins/file.lua +++ b/yazi-plugin/preset/plugins/file.lua @@ -3,7 +3,7 @@ local M = {} function M:peek(job) local cmd = os.getenv("YAZI_FILE_ONE") or "file" local path = tostring(job.file.cache or job.file.url) - local output, err = Command(cmd):arg({ "-bL", "--", path }):stdout(Command.PIPED):output() + local output, err = Command(cmd):arg({ "-bL", "--", path }):output() local text if output then diff --git a/yazi-plugin/preset/plugins/pdf.lua b/yazi-plugin/preset/plugins/pdf.lua index 2fbcd366..e19ea898 100644 --- a/yazi-plugin/preset/plugins/pdf.lua +++ b/yazi-plugin/preset/plugins/pdf.lua @@ -42,7 +42,6 @@ function M:preload(job) "-jpeg", "-jpegopt", "quality=" .. rt.preview.image_quality, tostring(job.file.url), tostring(cache), }) - :stderr(Command.PIPED) :output() if not output then diff --git a/yazi-plugin/src/process/command.rs b/yazi-plugin/src/process/command.rs index 67d4b3d4..1d57a01b 100644 --- a/yazi-plugin/src/process/command.rs +++ b/yazi-plugin/src/process/command.rs @@ -97,8 +97,8 @@ impl Command { } async fn output(&mut self) -> io::Result { - self.inner.stdin(Stdio::piped()); self.inner.stdout(Stdio::piped()); + self.inner.stderr(Stdio::piped()); self.spawn()?.wait_with_output().await }