import click


def selection_prompt(prompt: str, choices: list) -> str:
    """
    Prompts the user to select an option from an list of choices.

    :param prompt: The text of the prompt.
    :param choices: A list of choices.
    :return: The user's selection.
    """
    joiner = "\n* "
    selection = click.prompt(f"\n{prompt}\n\n"
                             f"* {joiner.join(choices)}",
                             type=click.Choice(choices, case_sensitive=False),
                             show_choices=False,
                             prompt_suffix="\n\n> ")

    return selection.casefold()