#![allow(dead_code)]
pub mod buffer;
pub mod components;
pub mod events;
pub mod focus;
pub mod layout;
mod plugin;
mod plugin_proposal;
pub mod schedules;
use bevy::prelude::{App, Plugin};
use events::{
command::{CommandFailed, CommandRequested},
cursor::{CursorMoveRejected, CursorMoveRequested, CursorMoved},
edit::{
BufferEditRejected, BufferEditRequested, BufferEdited, EditHistoryApplied,
EditHistoryRejected, EditHistoryRequested, PluginBufferEditProposalApplyRequested,
PluginBufferEditProposalDecisionRejected, PluginBufferEditProposalReceipt,
PluginBufferEditProposalRejectRequested, RevisionGuardedBufferEditRequested,
},
focus::{FocusRejected, FocusRequested},
input::{EditorInputEvent, VimInputRejected},
intent::{ViewportIntent, ViewportIntentRejected},
lifecycle::LifecycleRequested,
plugin::PluginOperationalEventReported,
status::{StatusMessageRejected, StatusMessageRequested},
};
use plugin::PluginRuntimeEcsPlugin;
use schedules::configure_editor_sets;
pub use buffer::{BufferPlugin, InitialEditorBuffer};
pub use focus::FocusPlugin;
pub use layout::{LayoutPlugin, TextShapePlugin};
pub use plugin_proposal::{
PendingPluginBufferEditProposal, PluginBufferEditDiffPreview, PluginProposalLane,
PluginProposalReceiptLog,
};
#[cfg(all(test, feature = "plugin-runtime"))]
pub use plugin::{
PluginIntentQueue, PluginOwnerQueues, PluginScheduledUpdateOwnerPublicationReport,
};
#[derive(Clone, Copy, Debug, Default)]
pub struct EditorCorePlugin;
impl Plugin for EditorCorePlugin {
fn build(&self, app: &mut App) {
configure_editor_sets(app);
let _app = app
.add_plugins(PluginRuntimeEcsPlugin)
.add_message::<EditorInputEvent>()
.add_message::<VimInputRejected>()
.add_message::<ViewportIntent>()
.add_message::<CommandRequested>()
.add_message::<CommandFailed>()
.add_message::<BufferEditRequested>()
.add_message::<RevisionGuardedBufferEditRequested>()
.add_message::<PluginBufferEditProposalApplyRequested>()
.add_message::<PluginBufferEditProposalRejectRequested>()
.add_message::<PluginBufferEditProposalDecisionRejected>()
.add_message::<PluginBufferEditProposalReceipt>()
.add_message::<BufferEdited>()
.add_message::<BufferEditRejected>()
.add_message::<EditHistoryRequested>()
.add_message::<EditHistoryApplied>()
.add_message::<EditHistoryRejected>()
.add_message::<CursorMoveRequested>()
.add_message::<CursorMoved>()
.add_message::<CursorMoveRejected>()
.add_message::<FocusRequested>()
.add_message::<FocusRejected>()
.add_message::<ViewportIntentRejected>()
.add_message::<StatusMessageRequested>()
.add_message::<StatusMessageRejected>()
.add_message::<PluginOperationalEventReported>()
.add_message::<LifecycleRequested>();
}
}