1#![allow(
18 clippy::boxed_local,
19 clippy::cast_lossless,
20 clippy::collapsible_if,
21 clippy::let_and_return,
22 clippy::map_entry,
23 clippy::match_as_ref,
24 clippy::match_bool,
25 clippy::needless_pass_by_value,
26 clippy::new_without_default,
27 clippy::or_fun_call,
28 clippy::ptr_arg,
29 clippy::too_many_arguments,
30 clippy::unreadable_literal,
31 clippy::get_unwrap
32)]
33
34#[macro_use]
35extern crate log;
36extern crate regex;
37extern crate serde;
38#[macro_use]
39extern crate serde_json;
40#[macro_use]
41extern crate serde_derive;
42extern crate memchr;
43#[cfg(feature = "notify")]
44extern crate notify;
45extern crate syntect;
46extern crate time;
47extern crate toml;
48
49extern crate xi_rope;
50extern crate xi_rpc;
51extern crate xi_trace;
52extern crate xi_unicode;
53
54#[cfg(feature = "ledger")]
55mod ledger_includes {
56 extern crate fuchsia_zircon;
57 extern crate fuchsia_zircon_sys;
58 extern crate mxruntime;
59 #[macro_use]
60 extern crate fidl;
61 extern crate apps_ledger_services_public;
62 extern crate sha2;
63}
64#[cfg(feature = "ledger")]
65use ledger_includes::*;
66
67pub mod annotations;
68pub mod backspace;
69pub mod client;
70pub mod config;
71pub mod core;
72pub mod edit_types;
73pub mod editor;
74pub mod event_context;
75pub mod file;
76pub mod find;
77#[cfg(feature = "ledger")]
78pub mod fuchsia;
79pub mod index_set;
80pub mod layers;
81pub mod line_cache_shadow;
82pub mod line_ending;
83pub mod linewrap;
84pub mod movement;
85pub mod plugins;
86pub mod recorder;
87pub mod selection;
88pub mod styles;
89pub mod syntax;
90pub mod tabs;
91pub mod view;
92#[cfg(feature = "notify")]
93pub mod watcher;
94pub mod whitespace;
95pub mod width_cache;
96pub mod word_boundaries;
97
98pub mod rpc;
99
100#[cfg(feature = "ledger")]
101use apps_ledger_services_public::Ledger_Proxy;
102
103pub use crate::config::{BufferItems as BufferConfig, Table as ConfigTable};
104pub use crate::core::{WeakXiCore, XiCore};
105pub use crate::editor::EditType;
106pub use crate::plugins::manifest as plugin_manifest;
107pub use crate::plugins::rpc as plugin_rpc;
108pub use crate::plugins::PluginPid;
109pub use crate::syntax::{LanguageDefinition, LanguageId};
110pub use crate::tabs::test_helpers;
111pub use crate::tabs::{BufferId, BufferIdentifier, ViewId};