mirror of
https://github.com/denoland/deno.git
synced 2024-12-21 23:04:45 -05:00
feat(flags): support user provided args in repl subcommand (#25605)
closes https://github.com/denoland/deno/issues/11547
This commit is contained in:
parent
394a620da3
commit
f2b53d42ac
1 changed files with 30 additions and 0 deletions
|
@ -2703,6 +2703,13 @@ fn repl_subcommand() -> Command {
|
|||
<p(245)>[default: $DENO_DIR/deno_history.txt]</>"))
|
||||
)
|
||||
.arg(env_file_arg())
|
||||
.arg(
|
||||
Arg::new("args")
|
||||
.num_args(0..)
|
||||
.action(ArgAction::Append)
|
||||
.value_name("ARGS")
|
||||
.last(true)
|
||||
)
|
||||
}
|
||||
|
||||
fn run_args(command: Command, top_level: bool) -> Command {
|
||||
|
@ -4711,6 +4718,10 @@ fn repl_parse(
|
|||
})
|
||||
.transpose()?;
|
||||
|
||||
if let Some(args) = matches.remove_many::<String>("args") {
|
||||
flags.argv.extend(args);
|
||||
}
|
||||
|
||||
handle_repl_flags(
|
||||
flags,
|
||||
ReplFlags {
|
||||
|
@ -10721,6 +10732,25 @@ mod tests {
|
|||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn repl_user_args() {
|
||||
let r = flags_from_vec(svec!["deno", "repl", "foo"]);
|
||||
assert!(r.is_err());
|
||||
let r = flags_from_vec(svec!["deno", "repl", "--", "foo"]);
|
||||
assert_eq!(
|
||||
r.unwrap(),
|
||||
Flags {
|
||||
subcommand: DenoSubcommand::Repl(ReplFlags {
|
||||
eval_files: None,
|
||||
eval: None,
|
||||
is_default_command: false,
|
||||
}),
|
||||
argv: svec!["foo"],
|
||||
..Flags::default()
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn bare_with_flag_no_file() {
|
||||
let r = flags_from_vec(svec!["deno", "--no-config"]);
|
||||
|
|
Loading…
Reference in a new issue