use crate::text_stream::TextByteStream;
use bevy::prelude::{Component, Entity};
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
pub struct BufferEntity(pub Entity);
impl BufferEntity {
pub const fn get(self) -> Entity {
self.0
}
}
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
pub struct ViewEntity(pub Entity);
impl ViewEntity {
pub const fn get(self) -> Entity {
self.0
}
}
#[derive(Clone, Copy, Component, Debug, Default, Eq, PartialEq)]
pub struct EditorBuffer;
#[derive(Clone, Copy, Component, Debug, Eq, PartialEq)]
pub struct EditorView {
pub buffer: BufferEntity,
}
#[derive(Clone, Copy, Component, Debug, Default, Eq, PartialEq)]
pub struct FocusedEditorView;
#[derive(Clone, Component, Debug, Default, Eq, PartialEq)]
pub struct BufferText {
pub stream: TextByteStream,
}
#[derive(Clone, Copy, Component, Debug, Default, Eq, PartialEq)]
pub struct BufferRevision {
pub revision: u64,
}