🔥 Stop parsing flags after positional args (#219)
This allows things like the following to work as, I hope, one would expect: commit +flags: git commit {{flags}} $ just commit -a It is however a breaking change, so also bump version number to 0.3.0.
This commit is contained in:
parent
1fd1c05653
commit
58f545f240
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -1,6 +1,6 @@
|
|||||||
[root]
|
[root]
|
||||||
name = "just"
|
name = "just"
|
||||||
version = "0.2.33"
|
version = "0.3.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"atty 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"atty 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "just"
|
name = "just"
|
||||||
version = "0.2.33"
|
version = "0.3.0"
|
||||||
description = "🤖 Just a command runner"
|
description = "🤖 Just a command runner"
|
||||||
authors = ["Casey Rodarmor <casey@rodarmor.com>"]
|
authors = ["Casey Rodarmor <casey@rodarmor.com>"]
|
||||||
license = "WTFPL OR MIT OR Apache-2.0"
|
license = "WTFPL OR MIT OR Apache-2.0"
|
||||||
|
@ -36,6 +36,7 @@ pub fn app() {
|
|||||||
.author(env!("CARGO_PKG_AUTHORS"))
|
.author(env!("CARGO_PKG_AUTHORS"))
|
||||||
.about(concat!(env!("CARGO_PKG_DESCRIPTION"), " - ", env!("CARGO_PKG_HOMEPAGE")))
|
.about(concat!(env!("CARGO_PKG_DESCRIPTION"), " - ", env!("CARGO_PKG_HOMEPAGE")))
|
||||||
.setting(AppSettings::ColoredHelp)
|
.setting(AppSettings::ColoredHelp)
|
||||||
|
.setting(AppSettings::TrailingVarArg)
|
||||||
.arg(Arg::with_name("ARGUMENTS")
|
.arg(Arg::with_name("ARGUMENTS")
|
||||||
.multiple(true)
|
.multiple(true)
|
||||||
.help("The recipe(s) to run, defaults to the first recipe in the justfile"))
|
.help("The recipe(s) to run, defaults to the first recipe in the justfile"))
|
||||||
|
@ -52,8 +52,8 @@ fn integration_test(
|
|||||||
|
|
||||||
let output = process::Command::new(&super::test_utils::just_binary_path())
|
let output = process::Command::new(&super::test_utils::just_binary_path())
|
||||||
.current_dir(tmp.path())
|
.current_dir(tmp.path())
|
||||||
.args(args)
|
|
||||||
.args(&["--shell", shell])
|
.args(&["--shell", shell])
|
||||||
|
.args(args)
|
||||||
.output()
|
.output()
|
||||||
.expect("just invocation failed");
|
.expect("just invocation failed");
|
||||||
|
|
||||||
@ -409,7 +409,7 @@ integration_test! {
|
|||||||
echo hello
|
echo hello
|
||||||
echo {{`exit 111`}}
|
echo {{`exit 111`}}
|
||||||
a = `exit 222`",
|
a = `exit 222`",
|
||||||
args: ("--set", "foo", "bar", "a", "b", "--set", "baz", "bob", "--set", "a", "b"),
|
args: ("--set", "foo", "bar", "--set", "baz", "bob", "--set", "a", "b", "a", "b"),
|
||||||
stdout: "",
|
stdout: "",
|
||||||
stderr: "error: Variables `baz` and `foo` overridden on the command line but not present \
|
stderr: "error: Variables `baz` and `foo` overridden on the command line but not present \
|
||||||
in justfile\n",
|
in justfile\n",
|
||||||
@ -551,7 +551,7 @@ export ABC = FOO + "-" + BAR + "-" + baz
|
|||||||
wut:
|
wut:
|
||||||
echo $FOO $BAR $ABC
|
echo $FOO $BAR $ABC
|
||||||
"#,
|
"#,
|
||||||
args: ("FOO=hello", "--set", "BAR", "bye"),
|
args: ("--set", "BAR", "bye", "FOO=hello"),
|
||||||
stdout: "hello bye hello-bye-c\n",
|
stdout: "hello bye hello-bye-c\n",
|
||||||
stderr: "echo $FOO $BAR $ABC\n",
|
stderr: "echo $FOO $BAR $ABC\n",
|
||||||
status: EXIT_SUCCESS,
|
status: EXIT_SUCCESS,
|
||||||
@ -1584,3 +1584,15 @@ a:
|
|||||||
stderr: "\u{1b}[1;36m===> Running recipe `a`...\u{1b}[0m\n\u{1b}[1mecho hi\u{1b}[0m\n",
|
stderr: "\u{1b}[1;36m===> Running recipe `a`...\u{1b}[0m\n\u{1b}[1mecho hi\u{1b}[0m\n",
|
||||||
status: EXIT_SUCCESS,
|
status: EXIT_SUCCESS,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
integration_test! {
|
||||||
|
name: trailing_flags,
|
||||||
|
justfile: "
|
||||||
|
echo A B C:
|
||||||
|
echo {{A}} {{B}} {{C}}
|
||||||
|
",
|
||||||
|
args: ("echo", "--some", "--awesome", "--flags"),
|
||||||
|
stdout: "--some --awesome --flags\n",
|
||||||
|
stderr: "echo --some --awesome --flags\n",
|
||||||
|
status: EXIT_SUCCESS,
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user