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;
35#[path = "base/inline_tokens.rs"]
36mod inline_tokens;
37mod input;
38#[path = "base/token_presentation.rs"]
39mod token_presentation;
40pub use inline_tokens::{InlineToken, InlineTokenError, InlineTokenSpan, InputContent};
41pub(crate) use token_presentation::InlineTokenPresentation;
42pub use token_presentation::{
43 InlineTokenClickEvent, InlineTokenClickListener, InlineTokenContext, InlineTokenHoverEvent,
44 InlineTokenHoverListener, InlineTokenRenderer,
45};
46#[path = "base/kind.rs"]
47mod kind;
48#[path = "editor/language.rs"]
49mod language;
50#[path = "editor/language_config.rs"]
51pub mod language_config;
52#[path = "base/layout.rs"]
53mod layout;
54#[path = "editor/lsp/mod.rs"]
55mod lsp;
56#[path = "base/mask_pattern.rs"]
57mod mask_pattern;
58#[path = "base/mode.rs"]
59mod mode;
60#[path = "base/movement.rs"]
61mod movement;
62#[path = "base/native.rs"]
63mod native;
64#[path = "base/rope_ext.rs"]
65mod rope_ext;
66mod scrollbar_presentation;
67#[path = "editor/search.rs"]
68mod search;
69#[path = "base/selection.rs"]
70mod selection;
71#[path = "base/state.rs"]
72mod state;
73#[path = "base/tab_stops.rs"]
74mod tab_stops;
75mod textarea;
76pub use scrollbar_presentation::{EditorScrollbarContext, EditorScrollbarRenderer};
77#[path = "base/touch.rs"]
78mod touch;
79#[path = "base/undo_manager.rs"]
80mod undo_manager;
81
82pub(crate) fn init(cx: &mut App) {
83 state::init(cx);
84}
85
86pub use crate::number_input::{NumberInputEvent, NumberStep};
87pub use base::{InputBase, InputContextMenuCapabilities, InputStyles};
88pub use cursor::Selection;
89pub use decorations::{
90 RangeDecoration, RangeDecorationCollection, RangeDecorationStyle, TextDecoration,
91 TextDecorationCollection,
92};
93pub use diagnostics::{
94 Diagnostic, DiagnosticEntry, DiagnosticRelatedInformation, DiagnosticSet, DiagnosticSeverity,
95 DiagnosticSummary, DiagnosticTag, RelatedInformation,
96};
97pub use display_map::{BufferPoint, DisplayMap, DisplayPoint, FoldRange, WrappingIndent};
98pub use editor::{Editor, EditorState};
99pub use highlighting::{
100 DiagnosticColors, FoldIconRenderer, HighlightStyleResolver, InputEditorStyle, InputHighlighter,
101 InputHighlighterFactory, SharedHighlightStyleResolver, SyntaxContext, SyntaxContextProvider,
102};
103pub use indent::TabSize;
104pub use input::{Input, InputState};
105pub use kind::{
106 EditorExtras, EditorMode, InputExtras, InputMode, InputModeKind, MultiLineMode, TextareaMode,
107};
108pub(crate) use language::EditorLanguage;
109pub use language::{LanguageProvider, set_language_config, set_language_provider};
110pub(crate) use language_config::LanguageConfig;
111pub use language_config::{AutoClosingPair, BracketPair, IndentationRules};
112pub use lsp::{
113 CodeActionItem, CodeActionMenuState, CodeActionProvider, CompletionHighlighter,
114 CompletionMenuOptions, CompletionMenuState, CompletionProvider, DefinitionProvider,
115 DocumentColorProvider, DocumentRangeSemanticTokensProvider, HoverPopoverState, HoverProvider,
116 InputOverlayKind, Lsp, ShowDocumentHandler, highlight_characters, highlight_contains,
117 highlight_prefix,
118};
119pub use lsp_types::Position;
120pub use mask_pattern::MaskPattern;
121#[cfg(target_os = "macos")]
122#[doc(hidden)]
123pub use native::set_text_content_type;
124pub use native::{NativeMenu, NativeMenuItem};
125pub use rope_ext::{InputEdit, Point, RopeExt, RopeLines};
126pub use ropey::Rope;
127pub use search::{SearchMatcher, SearchSession};
128pub use state::*;
129pub use textarea::{Textarea, TextareaState};