1#![warn(unreachable_pub)]
7
8use gpui::App;
9
10pub(crate) const MASK_CHAR: char = '•';
12
13mod base;
14#[path = "base/blink_cursor.rs"]
15pub(crate) mod blink_cursor;
16#[path = "base/change.rs"]
17mod change;
18#[path = "base/cursor.rs"]
19mod cursor;
20#[path = "editor/decorations.rs"]
21mod decorations;
22#[path = "editor/diagnostics.rs"]
23mod diagnostics;
24#[path = "editor/display_map/mod.rs"]
25mod display_map;
26mod editor;
27#[path = "base/element.rs"]
28mod element;
29#[path = "editor/highlighting.rs"]
30mod highlighting;
31#[path = "editor/indent.rs"]
32mod indent;
33mod input;
34#[path = "base/kind.rs"]
35mod kind;
36#[path = "base/layout.rs"]
37mod layout;
38#[path = "editor/lsp/mod.rs"]
39mod lsp;
40#[path = "base/mask_pattern.rs"]
41mod mask_pattern;
42#[path = "base/mode.rs"]
43mod mode;
44#[path = "base/movement.rs"]
45mod movement;
46#[path = "base/native.rs"]
47mod native;
48#[path = "base/rope_ext.rs"]
49mod rope_ext;
50#[path = "editor/search.rs"]
51mod search;
52#[path = "base/selection.rs"]
53mod selection;
54#[path = "base/state.rs"]
55mod state;
56mod textarea;
57#[path = "base/undo_manager.rs"]
58mod undo_manager;
59
60pub(crate) fn init(cx: &mut App) {
61 state::init(cx);
62}
63
64pub use crate::number_input::{NumberInputEvent, NumberStep};
65pub use base::{InputBase, InputContextMenuCapabilities, InputStyles};
66pub use cursor::Selection;
67pub use decorations::{TextDecoration, TextDecorationCollection};
68pub use diagnostics::{
69 Diagnostic, DiagnosticEntry, DiagnosticRelatedInformation, DiagnosticSet, DiagnosticSeverity,
70 DiagnosticSummary, DiagnosticTag, RelatedInformation,
71};
72pub use display_map::{BufferPoint, DisplayMap, DisplayPoint, FoldRange, WrappingIndent};
73pub use editor::{Editor, EditorState};
74pub use highlighting::{
75 DiagnosticColors, FoldIconRenderer, HighlightStyleResolver, InputEditorStyle, InputHighlighter,
76 InputHighlighterFactory, SharedHighlightStyleResolver,
77};
78pub use indent::TabSize;
79pub use input::{Input, InputState};
80pub use kind::{
81 EditorExtras, EditorMode, InputExtras, InputMode, InputModeKind, MultiLineMode, TextareaMode,
82};
83pub use lsp::{
84 CodeActionItem, CodeActionMenuState, CodeActionProvider, CompletionMenuOptions,
85 CompletionMenuState, CompletionProvider, DefinitionProvider, DocumentColorProvider,
86 DocumentRangeSemanticTokensProvider, HoverPopoverState, HoverProvider, InputOverlayKind, Lsp,
87 ShowDocumentHandler,
88};
89pub use lsp_types::Position;
90pub use mask_pattern::MaskPattern;
91#[cfg(target_os = "macos")]
92#[doc(hidden)]
93pub use native::set_text_content_type;
94pub use native::{NativeMenu, NativeMenuItem};
95pub use rope_ext::{InputEdit, Point, RopeExt, RopeLines};
96pub use ropey::Rope;
97pub use search::{SearchMatcher, SearchSession};
98pub use state::*;
99pub use textarea::{Textarea, TextareaState};