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