From c926f23c098805c87e9f10df0854be5ccf58c4ce Mon Sep 17 00:00:00 2001 From: a-kenji Date: Tue, 4 Jun 2024 15:49:11 +0200 Subject: [PATCH] clan: add dynamic completions to `clan vms inspect` --- pkgs/clan-cli/clan_cli/config/__init__.py | 2 +- pkgs/clan-cli/clan_cli/vms/inspect.py | 4 +++- pkgs/clan-cli/clan_cli/vms/run.py | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/clan-cli/clan_cli/config/__init__.py b/pkgs/clan-cli/clan_cli/config/__init__.py index baf69d7c..35505bd8 100644 --- a/pkgs/clan-cli/clan_cli/config/__init__.py +++ b/pkgs/clan-cli/clan_cli/config/__init__.py @@ -8,8 +8,8 @@ import sys from pathlib import Path from typing import Any, get_origin -from clan_cli.completions import add_dynamic_completer, complete_machines from clan_cli.cmd import run +from clan_cli.completions import add_dynamic_completer, complete_machines from clan_cli.dirs import machine_settings_file from clan_cli.errors import ClanError from clan_cli.git import commit_file diff --git a/pkgs/clan-cli/clan_cli/vms/inspect.py b/pkgs/clan-cli/clan_cli/vms/inspect.py index a09b4361..fb896cfb 100644 --- a/pkgs/clan-cli/clan_cli/vms/inspect.py +++ b/pkgs/clan-cli/clan_cli/vms/inspect.py @@ -3,6 +3,7 @@ import json from dataclasses import dataclass from pathlib import Path +from ..completions import add_dynamic_completer, complete_machines from ..machines.machines import Machine @@ -45,5 +46,6 @@ def inspect_command(args: argparse.Namespace) -> None: def register_inspect_parser(parser: argparse.ArgumentParser) -> None: - parser.add_argument("machine", type=str, default="defaultVM") + machine_action = parser.add_argument("machine", type=str, default="defaultVM") + add_dynamic_completer(machine_action, complete_machines) parser.set_defaults(func=inspect_command) diff --git a/pkgs/clan-cli/clan_cli/vms/run.py b/pkgs/clan-cli/clan_cli/vms/run.py index 9153d192..3ab19ed1 100644 --- a/pkgs/clan-cli/clan_cli/vms/run.py +++ b/pkgs/clan-cli/clan_cli/vms/run.py @@ -7,8 +7,8 @@ from contextlib import ExitStack from pathlib import Path from tempfile import TemporaryDirectory -from ..completions import add_dynamic_completer, complete_machines from ..cmd import Log, run +from ..completions import add_dynamic_completer, complete_machines from ..dirs import module_root, user_cache_dir, vm_state_dir from ..errors import ClanError from ..facts.generate import generate_facts