pkgs/cli: Autocomplete buildhost

This commit is contained in:
a-kenji
2025-10-21 14:07:12 +02:00
parent a15959fad2
commit d70db5af79
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",