pub mod abbrev;
pub mod buf_helpers;
mod buffer_impl;
mod discipline;
mod editor;
pub mod input;
pub mod keymap_motion;
pub mod motions;
mod registers;
pub mod rope_util;
pub mod search;
pub mod selection_shift;
pub mod substitute;
pub mod tag;
pub mod types;
mod viewport_math;
pub use discipline::{DisciplineState, NoDiscipline};
pub use editor::{
ChangeBank, CursorScrollTarget, Editor, GlobalMarks, LspIntent, MarkJump, SearchBank, Settings,
UndoGranularity,
};
pub use input::{Input, Key, decode_macro, from_planned as decode_planned_input};
pub use registers::{Registers, Slot};
pub use selection_shift::{Sel, shift_position, shift_sel};
pub use buffer_impl::{BufferFoldProvider, BufferFoldProviderMut, SnapshotFoldProvider};
pub use keymap_motion::MotionKind;
pub use substitute::{
SubstError, SubstFlags, SubstituteCmd, SubstituteMatch, SubstituteOutcome,
apply_collected_matches, apply_substitute, collect_substitute_matches, parse_substitute,
};
pub use types::{
Attrs, BufferEdit, BufferId, Color, ContentEdit, Cursor, CursorShape, DefaultHost, Edit,
EditorSnapshot, EngineError, FoldOp, FoldProvider, Highlight, HighlightKind, Host,
Input as PlannedInput, Mode, Modifiers, MouseEvent, MouseKind, NoopFoldProvider, OptionValue,
Options, Pos, Query, RenderFrame, Search, Selection, SelectionKind, SelectionSet, SnapshotMode,
SpecialKey, Style, View, Viewport, WrapMode,
};
pub use abbrev::{Abbrev, AbbrevTrigger};
pub use search::SearchPrompt;
pub use tag::matching_tag_pair;
pub use types::{InsertDir, ScrollDir};
pub use hjkl_vim_types::{
InsertEntry, InsertReason, InsertSession, LastChange, LastVisual, Motion, Operator, Pending,
RangeKind,
};
pub use hjkl_vim_types::Mode as FsmMode;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum VimMode {
#[default]
Normal,
Insert,
Visual,
VisualLine,
VisualBlock,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum CoarseMode {
#[default]
Normal,
Insert,
Select,
SelectLine,
SelectBlock,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
pub enum ViewMode {
#[default]
Normal,
Blame,
}