diff --git a/pkgs/clan-cli/clan_cli/completions.py b/pkgs/clan-cli/clan_cli/completions.py index 80ffde76a..0fd4663b0 100644 --- a/pkgs/clan-cli/clan_cli/completions.py +++ b/pkgs/clan-cli/clan_cli/completions.py @@ -165,6 +165,28 @@ def complete_users( return users_dict +def complete_groups( + prefix: str, parsed_args: argparse.Namespace, **kwargs: Any +) -> Iterable[str]: + """ + Provides completion functionality for clan groups + """ + from pathlib import Path + + from .secrets.groups import list_groups + + if (clan_dir_result := clan_dir(None)) is not None: + flake = clan_dir_result + else: + flake = "." + + groups_list = list_groups(Path(flake)) + groups = [group.name for group in groups_list] + + groups_dict = {name: "group" for name in groups} + return groups_dict + + def add_dynamic_completer( action: argparse.Action, completer: Callable[..., Iterable[str]],