alma 0.1.0

A Bevy-native modal text editor with Vim-style navigation.
Documentation
//! Status-line request messages.

use crate::ecs::components::buffer::ViewEntity;
use crate::vim::VimError;
use bevy::prelude::Message;

/// Request to update the editor status line.
#[derive(Clone, Debug, Eq, Message, PartialEq)]
pub struct StatusMessageRequested {
    /// Editor view entity whose status should be updated.
    pub target: ViewEntity,
    /// Requested status-line value.
    pub message: StatusMessage,
}

/// Status-line value requested by a feature or owner system.
#[derive(Clone, Debug, Eq, PartialEq)]
pub enum StatusMessage {
    /// Clear the active status message.
    Clear,
    /// Show an informational status message.
    Info(String),
    /// Show a Vim error status message.
    Error(VimError),
}