/** * @file Prompt.h * @author apio (cloudapio.eu) * @brief A few functions to get input from the user. * * @copyright Copyright (c) 2023, the Luna authors. * */ #pragma once #include namespace os { /** * @brief The default value for a conditional prompt. * */ enum DefaultValue { DefaultNo = 0, DefaultYes = 1 }; /** * @brief Show a prompt asking a yes or no question to the user. * * @param prompt The prompt that will be shown, without the "[y/N]" part. This will be added automatically by the * function. * @param fallback The value to return if the user's input was not a valid yes or no answer. * @return true If the user entered 'y', 'Y', or the default value was yes and the input was invalid. * @return false If the user entered 'n', 'N', or the default value was no and the input was invalid. */ bool conditional_prompt(StringView prompt, DefaultValue fallback); }