Skip to main content

bevy_term/
lib.rs

1// SPDX-FileCopyrightText: 2024 sntx <sntx@sntx.space>
2// SPDX-License-Identifier: AGPL-3.0-or-later
3
4mod runner;
5pub mod terminal;
6use bevy_app::prelude::{App, Plugin};
7use bevy_ecs::prelude::Resource;
8pub use ratatui;
9use terminal::Terminal;
10
11pub struct TerminalPlugin;
12impl Plugin for TerminalPlugin {
13    fn build(&self, app: &mut App) {
14        app.set_runner(runner::runner)
15            .insert_resource(Terminal::default())
16            .insert_resource(State::default());
17    }
18}
19
20#[derive(bevy_ecs::prelude::Event)]
21pub struct Event(pub ratatui::crossterm::event::Event);
22
23#[derive(Debug, Default, PartialEq, Resource)]
24pub enum State {
25    #[default]
26    Running,
27    Exit,
28}