summaryrefslogtreecommitdiff
path: root/src/systems
diff options
context:
space:
mode:
Diffstat (limited to 'src/systems')
-rw-r--r--src/systems/cmd/processer.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/systems/cmd/processer.rs b/src/systems/cmd/processer.rs
index b4b503e..aa494bb 100644
--- a/src/systems/cmd/processer.rs
+++ b/src/systems/cmd/processer.rs
@@ -1,3 +1,4 @@
+use just_progress::progress;
use log::{error, info, warn};
use rust_i18n::t;
@@ -11,6 +12,20 @@ pub async fn jv_cmd_process(
ctx: JVCommandContext,
renderer_override: String,
) -> Result<JVRenderResult, CmdProcessError> {
+ let result = process(args, ctx, renderer_override).await;
+
+ // Regardless of the result, the progress bar output should be terminated after the command finishes running.
+ // Otherwise, the program will block on the progress bar output.
+ progress::clear_all();
+ progress::close();
+ result
+}
+
+async fn process(
+ args: &Vec<String>,
+ ctx: JVCommandContext,
+ renderer_override: String,
+) -> Result<JVRenderResult, CmdProcessError> {
info!("{}", t!("verbose.cmd_process_start"));
let nodes = jv_cmd_nodes();