summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-02-27 06:42:01 +0800
committer魏曹先生 <1992414357@qq.com>2026-02-27 06:42:01 +0800
commit4eec352e05b653f1c74507b7fbf3a8a883189a27 (patch)
treedcd26ae69a94b72ff2308b3a6af76881a0f058c2
parenta31cb962b99e96bda167be87dd37c2e2f82fea2f (diff)
Avoid printing empty render result
-rw-r--r--src/bin/jvn.rs7
-rw-r--r--src/systems/render/renderer.rs9
2 files changed, 14 insertions, 2 deletions
diff --git a/src/bin/jvn.rs b/src/bin/jvn.rs
index bfaa21a..d20cc18 100644
--- a/src/bin/jvn.rs
+++ b/src/bin/jvn.rs
@@ -1,4 +1,4 @@
-use std::process::exit;
+use std::{ops::Deref, process::exit};
use cli_utils::{display::md, env::current_locales, levenshtein_distance::levenshtein_distance};
use just_enough_vcs_cli::{
@@ -145,7 +145,10 @@ async fn main() {
// Print
if !quiet {
info!("{}", t!("verbose.print_render_result"));
- print!("{}", render_result);
+ let r = render_result.deref();
+ if !r.is_empty() {
+ print!("{}", r);
+ }
}
}
diff --git a/src/systems/render/renderer.rs b/src/systems/render/renderer.rs
index 9060683..dab4c23 100644
--- a/src/systems/render/renderer.rs
+++ b/src/systems/render/renderer.rs
@@ -1,5 +1,6 @@
use std::fmt::{Display, Formatter};
use std::future::Future;
+use std::ops::Deref;
use crate::systems::cmd::errors::CmdRenderError;
@@ -23,6 +24,14 @@ impl Display for JVRenderResult {
}
}
+impl Deref for JVRenderResult {
+ type Target = str;
+
+ fn deref(&self) -> &Self::Target {
+ &self.render_text
+ }
+}
+
impl JVRenderResult {
pub fn print(&mut self, text: &str) {
self.render_text.push_str(text);