diff options
Diffstat (limited to 'src/systems')
| -rw-r--r-- | src/systems/cmd/processer.rs | 15 |
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(); |
