Merge pull request 'pkgs/cli: Autocomplete --build-host' (#5609) from ke-cli-complete-buildhost into main

Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/5609
This commit is contained in:
Kenji Berthold
2025-10-22 07:51:50 +00:00
2 changed files with 14 additions and 1 deletions

View File

@@ -478,6 +478,17 @@ def complete_tags(
return dict.fromkeys(tags, "tag")
def complete_build_host(
prefix: str, # noqa: ARG001
_parsed_args: argparse.Namespace,
**_kwargs: Any,
) -> Iterable[str]:
"""Provides completion functionality for build host.
Returns 'localhost' as a suggestion while allowing arbitrary SSH addresses.
"""
return dict.fromkeys(["localhost"], "build_host")
def add_dynamic_completer(
action: argparse.Action,
completer: Callable[..., Iterable[str]],

View File

@@ -20,6 +20,7 @@ from clan_lib.ssh.remote import Remote
from clan_cli.completions import (
add_dynamic_completer,
complete_build_host,
complete_machines,
complete_tags,
)
@@ -238,7 +239,7 @@ def register_update_parser(parser: argparse.ArgumentParser) -> None:
type=str,
help="Address of the machine to update, in the format of user@host:1234.",
)
parser.add_argument(
build_host_parser = parser.add_argument(
"--build-host",
type=str,
help=(
@@ -246,6 +247,7 @@ def register_update_parser(parser: argparse.ArgumentParser) -> None:
"Pass 'localhost' to build on the local machine, or an ssh address like user@host:1234\n"
),
)
add_dynamic_completer(build_host_parser, complete_build_host)
parser.add_argument(
"--upload-inputs",
action="store_true",