Introduce text::Buffer::subscribe
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
This commit is contained in:
parent
47c467dafc
commit
3b536f153f
7 changed files with 159 additions and 73 deletions
|
@ -1322,8 +1322,7 @@ impl Buffer {
|
|||
was_dirty: bool,
|
||||
cx: &mut ModelContext<Self>,
|
||||
) {
|
||||
let patch =
|
||||
unsafe { Patch::new_unchecked(self.edits_since::<usize>(old_version).collect()) };
|
||||
let patch = Patch::new(self.edits_since::<usize>(old_version).collect());
|
||||
if patch.is_empty() {
|
||||
return;
|
||||
}
|
||||
|
@ -1502,30 +1501,6 @@ impl Entity for Buffer {
|
|||
}
|
||||
}
|
||||
|
||||
// TODO: Do we need to clone a buffer?
|
||||
impl Clone for Buffer {
|
||||
fn clone(&self) -> Self {
|
||||
Self {
|
||||
text: self.text.clone(),
|
||||
saved_version: self.saved_version.clone(),
|
||||
saved_mtime: self.saved_mtime,
|
||||
file: self.file.as_ref().map(|f| f.boxed_clone()),
|
||||
language: self.language.clone(),
|
||||
syntax_tree: Mutex::new(self.syntax_tree.lock().clone()),
|
||||
parsing_in_background: false,
|
||||
sync_parse_timeout: self.sync_parse_timeout,
|
||||
parse_count: self.parse_count,
|
||||
autoindent_requests: Default::default(),
|
||||
pending_autoindent: Default::default(),
|
||||
diagnostics: self.diagnostics.clone(),
|
||||
diagnostics_update_count: self.diagnostics_update_count,
|
||||
language_server: None,
|
||||
#[cfg(test)]
|
||||
operations: self.operations.clone(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Deref for Buffer {
|
||||
type Target = TextBuffer;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue