#![deny(unsafe_code)]
#![forbid(unstable_features)]
#![warn(missing_docs, rust_2018_idioms)]
mod attrs;
mod commands;
mod content;
mod error;
mod fragment;
mod html;
mod inputrules;
mod json;
mod keymap;
mod map;
mod mark;
pub mod markdown;
mod node;
mod plugin;
mod pos;
mod replace;
mod schema;
pub mod schema_macro;
mod selection;
mod slice;
mod state;
mod step;
mod transform;
pub use attrs::{AttrValue, Attrs};
pub use commands::{
caret_left, caret_line_end, caret_line_start, caret_right, chain, delete_backward,
delete_forward, delete_selection, join_backward, join_forward, lift, remove_mark, select_all,
set_block_type, set_mark, split_block, toggle_mark, top_blocks_in_range, wrap_in, Command,
Dispatch,
};
pub use content::ContentMatch;
pub use error::{DocError, SchemaError};
pub use fragment::Fragment;
pub use html::{DomSpec, HtmlElement, ParseRule, MAX_DEPTH};
pub use inputrules::{
text_replace_rule, textblock_type_rule, wrapping_rule, InputRule, InputRules,
};
pub use keymap::{base_keymap, KeyPress, Keymap};
pub use map::{MapResult, Mapping, StepMap, DEL_SIDE};
pub use mark::{same_mark_set, Mark, MarkType};
pub use node::{Node, NodeType};
pub use plugin::{Plugin, PluginKey, PluginSet};
pub use pos::ResolvedPos;
#[doc(no_inline)]
pub use regex::Captures;
pub use replace::ReplaceError;
pub use schema::{AttrSpec, MarkSpec, NodeSpec, Schema, SchemaBuilder};
pub use selection::Selection;
pub use slice::Slice;
pub use state::{EditorState, History, HistoryIntent, Transaction};
pub use step::{
step_from_json, AddMarkStep, AttrStep, RemoveMarkStep, ReplaceAroundStep, ReplaceStep, Step,
StepError,
};
pub use transform::Transform;