Skip to content

Commit

Permalink
fix: environment variable options are invalid when command line has --
Browse files Browse the repository at this point in the history
Parse environment variable options and merge them into command line options
because they should not be misinterpreted as a file name when `--` is
specfied by command line.
  • Loading branch information
urin committed Feb 1, 2023
1 parent 81d775c commit bf6fe93
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,17 @@ use colored::*;
#[doc(hidden)]
fn main() {
let mut args = CommandLine::parse();
if let Ok(options) = std::env::var("MOOVE_OPTIONS") {
args.update_from(
std::env::args().chain(options.split_ascii_whitespace().map(|o| o.to_string())),
)
};
if let Ok(env) = std::env::var("MOOVE_OPTIONS") {
let env_args = CommandLine::parse_from(
std::env::args().take(1).chain(env.split_ascii_whitespace().map(|o| o.to_string()))
);
args.dry_run = args.dry_run || env_args.dry_run;
args.verbose = args.verbose || env_args.verbose;
args.quiet = args.quiet || env_args.quiet;
args.absolute = args.absolute || env_args.absolute;
args.directory = args.directory || env_args.directory;
args.with_hidden = args.with_hidden || env_args.with_hidden;
}
match try_main(&args) {
Err(err) => {
if !args.quiet {
Expand Down

0 comments on commit bf6fe93

Please sign in to comment.