use crate::App;
pub(super) const MASK_CHAR: char = '*';
pub mod async_file_loader;
mod auto_scroll;
mod blink_cursor;
mod change;
pub mod context_menu;
mod core;
mod cursor;
pub mod decorations;
mod display_map;
#[cfg(feature = "editor")]
pub mod editor;
mod history;
mod indent;
mod input;
mod layout;
mod movement;
mod rope_ext;
mod selection;
mod word_selection;
pub use async_file_loader::{AsyncFileLoader, FileLoadResult, LargeFileConfig, LoadProgress};
pub use context_menu::InputContextMenuBuilder;
pub use cursor::*;
pub use decorations::{TextDecoration, TextDecorationCollection};
pub use display_map::{BufferPoint, DisplayMap, DisplayPoint, FoldRange, WrappingIndent};
#[cfg(feature = "editor")]
pub use editor::{
ChromeGeometry, CodeLens, CodeLensOverlay, CodeLensProvider, EditEvent, EditHandler, Editor,
EditorExtension, EditorExtensionFactory, EditorState, InlayHint, InlayProvider,
ResolvedCodeLens, StickyPosition, VimKey, VimMode, editor_extension, register_editor_extension,
};
pub use history::*;
pub use indent::TabSize;
#[cfg(feature = "editor")]
pub use input::{
AddCursorAbove, AddCursorBelow, CopyLine, DeleteLine, JoinLines, MoveLineDown, MoveLineUp,
ToggleLineComment,
};
pub use input::{
Backspace, Copy, Cut, Delete, DeleteToBeginningOfLine, DeleteToEndOfLine, DeleteToNextWordEnd,
DeleteToPreviousWordStart, Enter, Escape, Indent, IndentInline, Input, InputEvent, InputState,
MoveDown, MoveEnd, MoveHome, MoveLeft, MovePageDown, MovePageUp, MoveRight, MoveToEnd,
MoveToEndOfLine, MoveToNextWord, MoveToPreviousWord, MoveToStart, MoveToStartOfLine, MoveUp,
Outdent, OutdentInline, Paste, Redo, SelectAll, SelectToEnd, SelectToEndOfLine,
SelectToNextWordEnd, SelectToPreviousWordStart, SelectToStart, SelectToStartOfLine,
ShowCharacterPalette, Undo,
};
pub use input::{
InputContentType, MaskPattern, NumberInput, NumberInputEvent, NumberStep, TextArea,
};
pub(crate) use layout::{LastLayout, WhitespaceIndicators};
pub use rope_ext::{InputEdit, Point, Position, RopeExt, RopeLines};
pub use ropey::Rope;
pub fn init(cx: &mut App) {
input::init_input_state(cx);
#[cfg(feature = "editor")]
editor::vim::init(cx);
}