Add excerpts into outline panel (#13034)
Follow-up of https://github.com/zed-industries/zed/pull/12637 Adds excerpt items into the outline panel: now all outline items are initially hidden under excerpt items that could be toggled open/closed similar to directories.  On active editor's selection change, a corresponding outline will be revealed still, expanding the corresponding excerpt  Release Notes: - N/A
This commit is contained in:
parent
1248788780
commit
eb7a09b459
8 changed files with 1106 additions and 894 deletions
|
@ -94,9 +94,9 @@ pub enum Event {
|
|||
DiffUpdated {
|
||||
buffer: Model<Buffer>,
|
||||
},
|
||||
LanguageChanged,
|
||||
LanguageChanged(BufferId),
|
||||
CapabilityChanged,
|
||||
Reparsed,
|
||||
Reparsed(BufferId),
|
||||
Saved,
|
||||
FileHandleChanged,
|
||||
Closed,
|
||||
|
@ -538,9 +538,13 @@ impl MultiBuffer {
|
|||
});
|
||||
|
||||
if let Some(buffer) = self.as_singleton() {
|
||||
return buffer.update(cx, |buffer, cx| {
|
||||
buffer.update(cx, |buffer, cx| {
|
||||
buffer.edit(edits, autoindent_mode, cx);
|
||||
});
|
||||
cx.emit(Event::ExcerptsEdited {
|
||||
ids: self.excerpt_ids(),
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
let original_indent_columns = match &mut autoindent_mode {
|
||||
|
@ -1639,8 +1643,8 @@ impl MultiBuffer {
|
|||
language::Event::Reloaded => Event::Reloaded,
|
||||
language::Event::DiffBaseChanged => Event::DiffBaseChanged,
|
||||
language::Event::DiffUpdated => Event::DiffUpdated { buffer },
|
||||
language::Event::LanguageChanged => Event::LanguageChanged,
|
||||
language::Event::Reparsed => Event::Reparsed,
|
||||
language::Event::LanguageChanged => Event::LanguageChanged(buffer.read(cx).remote_id()),
|
||||
language::Event::Reparsed => Event::Reparsed(buffer.read(cx).remote_id()),
|
||||
language::Event::DiagnosticsUpdated => Event::DiagnosticsUpdated,
|
||||
language::Event::Closed => Event::Closed,
|
||||
language::Event::CapabilityChanged => {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue