mirror of
https://github.com/denoland/deno.git
synced 2025-08-01 09:32:28 +00:00
Revert "feat(flags): script arguments come after '--'" (#3681)
Due to complaints about ergonomics and because it breaks shebang on
linux.
This reverts commit 2d5457df15
.
BREAKING CHANGE
This commit is contained in:
parent
3eab20ce42
commit
a4dde552de
14 changed files with 82 additions and 78 deletions
34
cli/flags.rs
34
cli/flags.rs
|
@ -485,7 +485,6 @@ fn run_test_args_parse(flags: &mut DenoFlags, matches: &clap::ArgMatches) {
|
|||
fn run_parse(flags: &mut DenoFlags, matches: &clap::ArgMatches) {
|
||||
flags.subcommand = DenoSubcommand::Run;
|
||||
script_arg_parse(flags, matches);
|
||||
args_parse(flags, matches);
|
||||
run_test_args_parse(flags, matches);
|
||||
}
|
||||
|
||||
|
@ -925,7 +924,6 @@ fn run_subcommand<'a, 'b>() -> App<'a, 'b> {
|
|||
run_test_args(SubCommand::with_name("run"))
|
||||
.setting(AppSettings::TrailingVarArg)
|
||||
.arg(script_arg())
|
||||
.arg(args_arg())
|
||||
.about("Run a program given a filename or url to the source code")
|
||||
.long_about(
|
||||
"Run a program given a filename or url to the source code.
|
||||
|
@ -945,11 +943,7 @@ With only permission to read from disk and listen to network
|
|||
|
||||
With only permission to read whitelist files from disk
|
||||
|
||||
deno run --allow-read=/etc https://deno.land/std/http/file_server.ts
|
||||
|
||||
Any arguments that should be passed to the script should be prefixed by '--'
|
||||
|
||||
deno run -A https://deno.land/std/examples/cat.ts -- /etc/passwd",
|
||||
deno run --allow-read=/etc https://deno.land/std/http/file_server.ts",
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -994,26 +988,15 @@ _test.js and executes them.
|
|||
}
|
||||
|
||||
fn script_arg<'a, 'b>() -> Arg<'a, 'b> {
|
||||
Arg::with_name("script").help("script").value_name("SCRIPT")
|
||||
Arg::with_name("script_arg")
|
||||
.multiple(true)
|
||||
.help("script args")
|
||||
.value_name("SCRIPT_ARG")
|
||||
}
|
||||
|
||||
fn script_arg_parse(flags: &mut DenoFlags, matches: &ArgMatches) {
|
||||
if let Some(script_value) = matches.value_of("script") {
|
||||
debug_assert!(flags.argv.len() == 1);
|
||||
flags.argv.push(String::from(script_value));
|
||||
}
|
||||
}
|
||||
|
||||
fn args_arg<'a, 'b>() -> Arg<'a, 'b> {
|
||||
Arg::with_name("script_args")
|
||||
.raw(true)
|
||||
.help("script args")
|
||||
.value_name("SCRIPT_ARGS")
|
||||
}
|
||||
|
||||
fn args_parse(flags: &mut DenoFlags, matches: &ArgMatches) {
|
||||
if let Some(values) = matches.values_of("script_args") {
|
||||
for v in values {
|
||||
if let Some(script_values) = matches.values_of("script_arg") {
|
||||
for v in script_values {
|
||||
flags.argv.push(String::from(v));
|
||||
}
|
||||
}
|
||||
|
@ -1341,7 +1324,6 @@ mod tests {
|
|||
"run",
|
||||
"--allow-net",
|
||||
"gist.ts",
|
||||
"--",
|
||||
"--title",
|
||||
"X"
|
||||
]);
|
||||
|
@ -1424,7 +1406,7 @@ mod tests {
|
|||
r.unwrap(),
|
||||
DenoFlags {
|
||||
subcommand: DenoSubcommand::Run,
|
||||
argv: svec!["deno", "script.ts", "-D", "--allow-net"],
|
||||
argv: svec!["deno", "script.ts", "--", "-D", "--allow-net"],
|
||||
allow_write: true,
|
||||
..DenoFlags::default()
|
||||
}
|
||||
|
|
|
@ -253,7 +253,7 @@ itest!(_027_redirect_typescript {
|
|||
});
|
||||
|
||||
itest!(_028_args {
|
||||
args: "run --reload 028_args.ts -- --arg1 val1 --arg2=val2 -- arg3 arg4",
|
||||
args: "run --reload 028_args.ts --arg1 val1 --arg2=val2 -- arg3 arg4",
|
||||
output: "028_args.ts.out",
|
||||
});
|
||||
|
||||
|
|
|
@ -23,7 +23,6 @@ mod tests {
|
|||
.arg("-A")
|
||||
// .arg("-Ldebug")
|
||||
.arg("./testing/runner.ts")
|
||||
.arg("--")
|
||||
.arg("--exclude=testing/testdata")
|
||||
.spawn()
|
||||
.expect("failed to spawn script");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue