From af228db398e7f4f3f3c62203ff413b90f17c291c Mon Sep 17 00:00:00 2001 From: Michael Hoang Date: Sun, 16 Feb 2025 21:47:02 +0700 Subject: [PATCH] machines: hide `morph` --- pkgs/clan-cli/clan_cli/__init__.py | 2 +- pkgs/clan-cli/clan_cli/machines/cli.py | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/clan-cli/clan_cli/__init__.py b/pkgs/clan-cli/clan_cli/__init__.py index 3f39c4e88..bb67c6c9d 100644 --- a/pkgs/clan-cli/clan_cli/__init__.py +++ b/pkgs/clan-cli/clan_cli/__init__.py @@ -437,7 +437,7 @@ For more detailed information, visit: {help_hyperlink("getting-started", "https: state.register_parser(parser_state) if argcomplete: - argcomplete.autocomplete(parser) + argcomplete.autocomplete(parser, exclude=["morph"]) register_common_flags(parser) diff --git a/pkgs/clan-cli/clan_cli/machines/cli.py b/pkgs/clan-cli/clan_cli/machines/cli.py index 674d66f66..7e98b21d0 100644 --- a/pkgs/clan-cli/clan_cli/machines/cli.py +++ b/pkgs/clan-cli/clan_cli/machines/cli.py @@ -17,6 +17,9 @@ def register_parser(parser: argparse.ArgumentParser) -> None: description="the command to run", help="the command to run", required=True, + # Workaround https://github.com/python/cpython/issues/67037 by setting + # `metavar` to ensure `morph` isn't mentioned + metavar="{update,create,delete,list,update-hardware-config,install}", ) update_parser = subparser.add_parser( @@ -47,7 +50,8 @@ For more detailed information, visit: https://docs.clan.lol/getting-started/depl delete_parser = subparser.add_parser("delete", help="Delete a machine") register_delete_parser(delete_parser) - morph_parser = subparser.add_parser("morph", help="morph a machine") + # Don't set `help` so that it doesn't show up in `clan machines --help` + morph_parser = subparser.add_parser("morph") register_morph_parser(morph_parser) list_parser = subparser.add_parser(