@@ -2792,11 +2792,7 @@ pub mod cmd {
27922792 Box::new(move |editor: &mut Editor, compositor: &mut Compositor| {
27932793 let contents = ui::Markdown::new(contents, editor.syn_loader.clone());
27942794 let popup = Popup::new("hover", contents);
2795− if let Some(doc_popup) = compositor.find_id("hover") {
2796− *doc_popup = popup;
2797− } else {
2798− compositor.push(Box::new(popup));
2799− }
2795+ compositor.replace_or_push("hover", Box::new(popup));
28002796 });
28012797 Ok(call)
28022798 };
@@ -3537,7 +3533,7 @@ pub fn code_action(cx: &mut Context) {
35373533 vertical: 1,
35383534 horizontal: 1,
35393535 });
3540− compositor.push(Box::new(popup))
3536+ compositor.replace_or_push("code-action", Box::new(popup));
35413537 },
35423538 )
35433539}
@@ -5465,11 +5461,7 @@ fn hover(cx: &mut Context) {
54655461 let contents =
54665462 ui::Markdown::new(contents, editor.syn_loader.clone()).style_group("hover");
54675463 let popup = Popup::new("hover", contents);
5468− if let Some(doc_popup) = compositor.find_id("hover") {
5469− *doc_popup = popup;
5470− } else {
5471− compositor.push(Box::new(popup));
5472− }
5464+ compositor.replace_or_push("hover", Box::new(popup));
54735465 }
54745466 },
54755467 );