#pragma once

namespace lumacs {

/// @brief Defines the different modes the minibuffer can be in.
enum class MinibufferMode {
    /// @brief No active minibuffer prompt.
    None,
    /// @brief Prompting for a command (e.g., M-x).
    Command,
    /// @brief Prompting for a file path (e.g., C-x C-f).
    FilePath,
    /// @brief Prompting for a buffer name (e.g., C-x b).
    BufferName,
    /// @brief Prompting for a theme name.
    ThemeName,
    /// @brief Prompting for an incremental search query.
    ISearch,
    /// @brief A generic prompt for a string.
    ystring,
    /// @brief A generic prompt for a boolean.
    y_or_n_p,
};

} // namespace lumacs
