From e7e5a1ded86c846338ca46bb99700d55215b702e Mon Sep 17 00:00:00 2001 From: a-kenji Date: Tue, 4 Jun 2024 11:51:27 +0200 Subject: [PATCH] clan: add completion function for clan users --- pkgs/clan-cli/clan_cli/completions.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pkgs/clan-cli/clan_cli/completions.py b/pkgs/clan-cli/clan_cli/completions.py index 4a0f02f1..80ffde76 100644 --- a/pkgs/clan-cli/clan_cli/completions.py +++ b/pkgs/clan-cli/clan_cli/completions.py @@ -144,6 +144,27 @@ def complete_secrets( return secrets_dict +def complete_users( + prefix: str, parsed_args: argparse.Namespace, **kwargs: Any +) -> Iterable[str]: + """ + Provides completion functionality for clan users + """ + from pathlib import Path + + from .secrets.users import list_users + + if (clan_dir_result := clan_dir(None)) is not None: + flake = clan_dir_result + else: + flake = "." + + users = list_users(Path(flake)) + + users_dict = {name: "user" for name in users} + return users_dict + + def add_dynamic_completer( action: argparse.Action, completer: Callable[..., Iterable[str]],