codemp/src/buffer/mod.rs

31 lines
808 B
Rust
Raw Normal View History

2023-08-20 00:46:55 +02:00
//! ### buffer
//!
//! ![demo gif of early buffer sync in action](https://cdn.alemi.dev/codemp/demo-vscode.gif)
2023-08-20 00:46:55 +02:00
//!
//! a buffer is a container fo text edited by users.
//! this module contains buffer-related operations and helpers to create Operation Sequences
//! (the underlying chunks of changes sent over the wire)
use std::ops::Range;
pub(crate) mod worker;
2023-08-20 00:46:55 +02:00
/// buffer controller implementation
pub mod controller;
2023-08-20 00:46:55 +02:00
pub use factory::OperationFactory;
pub use controller::BufferController as Controller;
2023-08-20 00:46:55 +02:00
/// an editor-friendly representation of a text change in a buffer
///
/// TODO move in proto
#[derive(Clone, Debug, Default)]
pub struct TextChange {
2023-08-20 00:46:55 +02:00
/// range of text change, as byte indexes in buffer
pub span: Range<usize>,
2023-08-20 00:46:55 +02:00
/// content of text change, as string
pub content: String,
}