Construct and return the CLI argument parser.
()
| 63 | |
| 64 | |
| 65 | def get_parser() -> argparse.ArgumentParser: |
| 66 | """Construct and return the CLI argument parser.""" |
| 67 | parser = argparse.ArgumentParser( |
| 68 | formatter_class=argparse.RawDescriptionHelpFormatter |
| 69 | ) |
| 70 | |
| 71 | # add version flag |
| 72 | parser.add_argument( |
| 73 | "--version", |
| 74 | "-V", |
| 75 | action="version", |
| 76 | version=( |
| 77 | f"Flet: {flet.version.flet_version}\n" |
| 78 | f"Flutter: {flet.version.flutter_version}\n" |
| 79 | f"Pyodide: {flet.version.pyodide_version}" |
| 80 | ), |
| 81 | ) |
| 82 | |
| 83 | sp = parser.add_subparsers(dest="command") |
| 84 | |
| 85 | # register subcommands |
| 86 | flet_cli.commands.create.Command.register_to(sp, "create") |
| 87 | flet_cli.commands.run.Command.register_to(sp, "run") |
| 88 | flet_cli.commands.build.Command.register_to(sp, "build") |
| 89 | flet_cli.commands.debug.Command.register_to(sp, "debug") |
| 90 | flet_cli.commands.pack.Command.register_to(sp, "pack") |
| 91 | flet_cli.commands.publish.Command.register_to(sp, "publish") |
| 92 | flet_cli.commands.serve.Command.register_to(sp, "serve") |
| 93 | flet_cli.commands.emulators.Command.register_to(sp, "emulators") |
| 94 | flet_cli.commands.devices.Command.register_to(sp, "devices") |
| 95 | flet_cli.commands.doctor.Command.register_to(sp, "doctor") |
| 96 | |
| 97 | # set "run" as the default subparser |
| 98 | set_default_subparser(parser, name="run", index=1) |
| 99 | |
| 100 | return parser |
| 101 | |
| 102 | |
| 103 | def main(): |
no test coverage detected