summaryrefslogtreecommitdiff
path: root/rola-cli/src/bin/rola.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rola-cli/src/bin/rola.rs')
-rw-r--r--rola-cli/src/bin/rola.rs14
1 files changed, 12 insertions, 2 deletions
diff --git a/rola-cli/src/bin/rola.rs b/rola-cli/src/bin/rola.rs
index 0cfe675..a201953 100644
--- a/rola-cli/src/bin/rola.rs
+++ b/rola-cli/src/bin/rola.rs
@@ -5,7 +5,10 @@ use mingling::{
macros::program_setup,
setup::{ExitCodeSetup, HelpFlagSetup, QuietFlagSetup},
};
-use rola_cli::{ThisProgram, locale, res::current_dir::ResCurrentDir};
+use rola_cli::{
+ ThisProgram, locale, output::ColorOutputSetup, output::EnvLoggerSetup,
+ res::current_dir::ResCurrentDir,
+};
fn main() {
let mut program = ThisProgram::new();
@@ -32,11 +35,18 @@ fn main() {
program.with_setup(HelpFlagSetup::new(["-h", "--help"]));
program.with_setup(StandardOutputSetup);
program.with_setup(ExitCodeSetup::default());
+ program.with_setup(ColorOutputSetup);
- // Execute
+ // stdout/stderr control
let quiet = program.stdout_setting.quiet;
let error_output = program.stdout_setting.error_output && !quiet;
let render_output = program.stdout_setting.render_output && !quiet;
+
+ if error_output {
+ program.with_setup(EnvLoggerSetup);
+ }
+
+ // Execute
let result = program.exec_without_render().unwrap();
if !result.is_empty() {
if result.exit_code == 0 && render_output {