@@ -1019,6 +1019,7 @@ foo:
10191019| ` export ` | boolean | ` false ` | Export all variables as environment variables. |
10201020| ` fallback ` | boolean | ` false ` | Search ` justfile ` in parent directory if the first recipe on the command line is not found. |
10211021| ` ignore-comments ` | boolean | ` false ` | Ignore recipe lines beginning with ` # ` . |
1022+ | ` named-parameters ` | boolean | ` false ` | Using named-parameters feature for all recipes in ` justfile ` . |
10221023| ` positional-arguments ` | boolean | ` false ` | Pass positional arguments. |
10231024| ` quiet ` | boolean | ` false ` | Disable echoing recipe lines before executing. |
10241025| ` script-interpreter ` <sup >1.33.0</sup > | ` [COMMAND, ARGS…] ` | ` ['sh', '-eu'] ` | Set command used to invoke recipes with empty ` [script] ` attribute. |
@@ -2117,6 +2118,7 @@ change their behavior.
21172118| ` [linux] ` <sup >1.8.0</sup > | recipe | Enable recipe on Linux. |
21182119| ` [macos] ` <sup >1.8.0</sup > | recipe | Enable recipe on MacOS. |
21192120| ` [metadata(METADATA)] ` <sup >1.42.0</sup > | recipe | Attach ` METADATA ` to recipe. |
2121+ | ` [named-parameters] ` <sup >1.44.0<sup > | recipe | Turn on [ named_parameters] ( #named_parameters ) for this recipe. |
21202122| ` [no-cd] ` <sup >1.9.0</sup > | recipe | Don't change directory before executing recipe. |
21212123| ` [no-exit-message] ` <sup >1.7.0</sup > | recipe | Don't print an error message if recipe fails. |
21222124| ` [no-quiet] ` <sup >1.23.0</sup > | recipe | Override globally quiet recipes and always echo out the recipe. |
@@ -3960,6 +3962,29 @@ This preserves `just`'s ability to catch variable name typos before running,
39603962for example if you were to write ` {{argument}} ` , but will not do what you want
39613963if the value of ` argument ` contains single quotes.
39623964
3965+ #### Named Parameters
3966+
3967+ The ` named-arguments ` setting enables python like keyword arguments for recipe calls.
3968+ Take for instance the following
3969+
3970+ ``` just
3971+ set named-parameters
3972+
3973+ foo default1="changes_often" default2="changes_sometimes" default3="changes_rarely":
3974+ echo {{ default1 }} {{ default2 }} {{ default3 }}
3975+ ```
3976+
3977+ Calling ` just foo default2="x" ` would normally result in stdout of
3978+ ` default2=x changes_sometimes changes_rarely ` . while with ` named-arguments `
3979+ one would get ` changes_often x changes_rarely ` . Notice it is still possible
3980+ to have positional parameters such as the recipe:
3981+
3982+ ``` just
3983+ foo a b="default" c=b:
3984+ echo {{ a }} {{ b }} {{ c }}
3985+ ```
3986+
3987+
39633988#### Positional Arguments
39643989
39653990The ` positional-arguments ` setting causes all arguments to be passed as
0 commit comments