Expand description
The main library for xi-core.
Re-exports§
pub use crate::config::BufferItems as BufferConfig;
pub use crate::config::Table as ConfigTable;
pub use crate::core::WeakXiCore;
pub use crate::core::XiCore;
pub use crate::editor::EditType;
pub use crate::plugins::manifest as plugin_manifest;
pub use crate::plugins::rpc as plugin_rpc;
pub use crate::plugins::PluginPid;
pub use crate::syntax::LanguageDefinition;
pub use crate::syntax::LanguageId;
pub use crate::tabs::test_helpers;
pub use crate::tabs::BufferId;
pub use crate::tabs::BufferIdentifier;
pub use crate::tabs::ViewId;
Modules§
- Management of annotations.
- Calc start of a backspace delete interval
- Requests and notifications from the core to front-ends.
- A bunch of boilerplate for converting the
EditNotification
s we receive from the client into the events we use internally. - A container for the state relevant to a single event.
- Interactions with the file system.
- Module for searching text.
- A data structure for manipulating sets of indices (typically used for representing valid lines).
- Handles syntax highlighting and other styling.
- Data structures for tracking the state of the front-end’s line cache and preparing render plans to update it.
- Utilities for detecting and working with line endings
- Compute line wrapping breaks for text.
- Representation and calculation of movement within a view.
- Plugins and related functionality.
- Manages recording and enables playback for client sent events.
- The main RPC protocol, for communication between
xi-core
and the client. - Data structures representing (multiple) selections and cursors.
- Management of styles.
- Very basic syntax detection.
- The main container for core state.
- Monitoring files and directories.
- Utilities for detecting and working with indentation.
- Cache and utilities for doing width measurement.
- Segmentation of word boundaries. Note: this current implementation is intended to work for code. Future work is to make it Unicode aware.