Make outline modal work in channel notes (#39481)

This fixes an issue where the outline modal would not work in editors
that had no explicit workspace attached to them.

Release Notes:

- Enabled the outline modal to work in channel notes.
This commit is contained in:
Finn Evers
2025-10-03 19:20:51 +00:00
committed by GitHub
parent 93770e8314
commit 6707ff3b50
+3 -2
View File
@@ -20,7 +20,7 @@ use settings::Settings;
use theme::{ActiveTheme, ThemeSettings};
use ui::{ListItem, ListItemSpacing, prelude::*};
use util::ResultExt;
use workspace::{DismissDecision, ModalView};
use workspace::{DismissDecision, ModalView, Workspace};
pub fn init(cx: &mut App) {
cx.observe_new(OutlineView::register).detach();
@@ -48,7 +48,8 @@ pub fn toggle(
.snapshot(cx)
.outline(Some(cx.theme().syntax()));
if let Some((workspace, outline)) = editor.read(cx).workspace().zip(outline) {
let workspace = window.root::<Workspace>().flatten();
if let Some((workspace, outline)) = workspace.zip(outline) {
workspace.update(cx, |workspace, cx| {
workspace.toggle_modal(window, cx, |window, cx| {
OutlineView::new(outline, editor, window, cx)