diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2020-07-20 13:55:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-20 13:55:30 +0200 |
commit | fe1ec3beab997699e68ee1ac65db859bfd3bc19e (patch) | |
tree | e97e00d4e112b88736fbf9a9a6b52e86c11589f9 | |
parent | 84fe3d7df592a35fb102ba71ea475fe03ee16ddc (diff) | |
parent | df80e259cdab0ae7d89ae0b1099819ae5363b7b1 (diff) |
Merge pull request #40521 from Xrayez/doc-cmdline-parsing
Document the process of parsing command-line arguments
-rw-r--r-- | doc/classes/OS.xml | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index 105def21ca..238bc970ef 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -112,7 +112,18 @@ <return type="PackedStringArray"> </return> <description> - Returns the command line arguments passed to the engine. + Returns the command-line arguments passed to the engine. + Command-line arguments can be written in any form, including both [code]--key value[/code] and [code]--key=value[/code] forms so they can be properly parsed, as long as custom command-line arguments do not conflict with engine arguments. + You can also incorporate environment variables using the [method get_environment] method. + You can set [code]editor/main_run_args[/code] in the Project Settings to define command-line arguments to be passed by the editor when running the project. + Here's a minimal example on how to parse command-line arguments into a dictionary using the [code]--key=value[/code] form for arguments: + [codeblock] + var arguments = {} + for argument in OS.get_cmdline_args(): + if argument.find("=") > -1: + var key_value = argument.split("=") + arguments[key_value[0].lstrip("--")] = key_value[1] + [/codeblock] </description> </method> <method name="get_connected_midi_inputs"> |