#![deny(clippy::all)]
#![deny(clippy::dbg_macro)]
#![deny(clippy::cargo)]
#![allow(clippy::multiple_crate_versions)]
#![warn(clippy::nursery)]
#![deny(clippy::pedantic)]
#![deny(missing_docs)]
#![forbid(unsafe_code)]
#![deny(unused_results)]
#![allow(clippy::collapsible_if)]
#![deny(clippy::missing_docs_in_private_items)]
#![warn(clippy::missing_errors_doc)]
#![warn(clippy::missing_panics_doc)]
mod app;
mod buffer;
mod editor;
mod domain;
mod ecs;
mod features;
mod fonts;
mod fs_utils;
mod render;
mod scene;
pub mod text_stream;
mod vim;
pub use app::{run, run_headless};
pub use buffer::{BufferEdit, BufferEditReport, BufferFile, BufferOpenError, BufferWriteError};
pub use editor::{EditorBackendAdapter, EditorBackendSnapshot, EditorSyncReport};
pub use fs_utils::{DEFAULT_MAX_FILE_BYTES, FilesystemConfig};
pub use text_stream::{TextByteStream, TextStreamError};
pub use vim::{
ActionContext, ActionDispatcher, BuiltinAction, CharSearch, CharSearchDirection,
CharSearchPlacement, Count, Counted, KeyAction, KeySequence, KeyToken, Keymap, KeymapSet,
LeaderBinding, LeaderConfig, LeaderState, LineAddress, ModeSet, ModeSwitch, Motion,
NormalCommand, NormalCommandContext, NormalGrammar, NormalGrammarOutput, NormalState, Operator,
PageDirection, ParagraphDirection, QuitPolicy, SearchCaseSensitivity, SearchDirection,
SearchOutcome, SearchQuery, SearchState, ViewportPosition, VimAction, VimCommand,
VimCommandState, VimCommandText, VimConfig, VimCursor, VimError, VimMode, VimSearchState,
VimSelection, VimSelectionState, VimStatusLine, VimStatusMessage, VisualCommandContext,
VisualGrammarOutput, VisualMode, VisualState, WordKind, WriteQuitPolicy, apply_search_outcome,
};