mirror of
https://github.com/godotengine/godot.git
synced 2025-02-16 15:50:45 +00:00
Allow ++
as an alternative separator to --
for user CLI arguments
This is required when using `startx` to start a Godot project, as `--` is used by `startx` for its own arguments (and there is no way to escape it).
This commit is contained in:
parent
340fb33e54
commit
914d3e1b1d
@ -182,10 +182,12 @@
|
|||||||
<method name="get_cmdline_user_args">
|
<method name="get_cmdline_user_args">
|
||||||
<return type="PackedStringArray" />
|
<return type="PackedStringArray" />
|
||||||
<description>
|
<description>
|
||||||
Similar to [method get_cmdline_args], but this returns the user arguments (any argument passed after the double dash [code]--[/code] argument). These are left untouched by Godot for the user.
|
Similar to [method get_cmdline_args], but this returns the user arguments (any argument passed after the double dash [code]--[/code] or double plus [code]++[/code] argument). These are left untouched by Godot for the user. [code]++[/code] can be used in situations where [code]--[/code] is intercepted by another program (such as [code]startx[/code]).
|
||||||
For example, in the command line below, [code]--fullscreen[/code] will not be returned in [method get_cmdline_user_args] and [code]--level 1[/code] will only be returned in [method get_cmdline_user_args]:
|
For example, in the command line below, [code]--fullscreen[/code] will not be returned in [method get_cmdline_user_args] and [code]--level 1[/code] will only be returned in [method get_cmdline_user_args]:
|
||||||
[codeblock]
|
[codeblock]
|
||||||
godot --fullscreen -- --level 1
|
godot --fullscreen -- --level 1
|
||||||
|
# Or:
|
||||||
|
godot --fullscreen ++ --level 1
|
||||||
[/codeblock]
|
[/codeblock]
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
|
@ -316,7 +316,7 @@ void Main::print_help(const char *p_binary) {
|
|||||||
OS::get_singleton()->print("\n");
|
OS::get_singleton()->print("\n");
|
||||||
|
|
||||||
OS::get_singleton()->print("Run options:\n");
|
OS::get_singleton()->print("Run options:\n");
|
||||||
OS::get_singleton()->print(" -- Separator for user-provided arguments. Following arguments are not used by the engine, but can be read from `OS.get_cmdline_user_args()`.\n");
|
OS::get_singleton()->print(" --, ++ Separator for user-provided arguments. Following arguments are not used by the engine, but can be read from `OS.get_cmdline_user_args()`.\n");
|
||||||
#ifdef TOOLS_ENABLED
|
#ifdef TOOLS_ENABLED
|
||||||
OS::get_singleton()->print(" -e, --editor Start the editor instead of running the scene.\n");
|
OS::get_singleton()->print(" -e, --editor Start the editor instead of running the scene.\n");
|
||||||
OS::get_singleton()->print(" -p, --project-manager Start the project manager, even if a project is auto-detected.\n");
|
OS::get_singleton()->print(" -p, --project-manager Start the project manager, even if a project is auto-detected.\n");
|
||||||
@ -1286,7 +1286,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (I->get() == "--") {
|
} else if (I->get() == "--" || I->get() == "++") {
|
||||||
adding_user_args = true;
|
adding_user_args = true;
|
||||||
} else {
|
} else {
|
||||||
main_args.push_back(I->get());
|
main_args.push_back(I->get());
|
||||||
|
Loading…
Reference in New Issue
Block a user