ailloli_ui_editor/
lib.rs

1//! UI-agnostic multi-paragraph editor engine.
2//!
3//! `ailloli_ui_editor` owns editor text state, viewport math, visible paragraph
4//! layout, hit-testing, caret/selection geometry, IME display text, and the
5//! neutral paint model consumed by UI adapters.
6
7/// Code-document configuration, models, syntax, search, and semantic adapters.
8pub mod code;
9/// Generic editor configuration.
10pub mod config;
11/// Stateful frame construction and geometry queries.
12pub mod engine;
13/// Neutral frame output values.
14pub mod frame;
15/// Caret, selection, hit-test, IME, and scrolling primitives.
16pub mod input;
17/// Paragraph shaping, metrics caching, and viewport virtualization.
18pub mod layout;
19/// Neutral editor paint models and painters.
20pub mod paint;
21/// Mutable editor interaction state.
22pub mod state;
23/// Generic editor colors and metrics.
24pub mod style;
25/// Viewport resolution and coordinate transforms.
26pub mod viewport;
27
28pub use code::{
29    index_symbols_with_fallback, parse_ctags_json_lines, resolve_document_language,
30    CodeEditorConfig, CodeEditorFeatureFlags, CodeEditorSession, CodeFileSummary, CodeSymbol,
31    CodeTheme, CtagsError, CtagsRunnerConfig, CtagsSymbolIndexer, Diagnostic, DiagnosticHit,
32    DiagnosticSeverity, DiagnosticSource, Document, DocumentId, DocumentSource, DocumentVersion,
33    EditorLanguage, FoldRegion, FoldRegionId, GutterConfig, LexicalRustSymbolIndexer, LspBackend,
34    LspCapabilities, LspDiagnostic, LspEnrichment, LspError, LspRequestId, NoopLspBackend,
35    ScipDocumentIndex, ScipImportError, ScipNavigationLink, ScipOccurrence, ScipOccurrenceRole,
36    ScipProjectIndex, ScipProjectMetadata, ScipProjectSummary, ScipRelation, ScipSymbol,
37    SearchMatch, SearchQuery, SearchState, SymbolEdge, SymbolEdgeKind, SymbolId, SymbolIndexer,
38    SymbolKind, SymbolSource,
39};
40pub use config::{EditorConfig, EditorWrapMode};
41pub use engine::{code_scrollbar_geometries, EditorEngine};
42pub use frame::{EditorFrame, EditorFrameDebugMetrics};
43pub use input::{
44    EditorHitTest, EditorHitZone, EditorInputOutcome, EditorZoneHitTest, SelectionGranularity,
45};
46pub use paint::EditorPaintItem;
47pub use state::{EditorClickZone, EditorSession};
48pub use style::{EditorScrollbarConfig, EditorScrollbarStyle, EditorStyle};
49pub use viewport::{editor_content_rect, EditorViewport};