@@ -432,17 +432,18 @@ impl Component for Completion {
432 None => return,
432 None => return,
435− let (popup_x, popup_y) = self.popup.get_rel_position(area, cx);
436+ let (popup_x, popup_y) = self.popup.get_rel_position(area, cx);
436− let (popup_width, _popup_height) = self.popup.get_size();
437+ let (popup_width, popup_height) = self.popup.get_size();
438+ Rect::new(popup_x, popup_y, popup_width, popup_height)
437− let doc_width_available = area
441+ let doc_width_available = area.width.saturating_sub(popup_area.right());
439− .saturating_sub(popup_x)
440− .saturating_sub(popup_width);
441 let doc_area = if doc_width_available > 30 {
442 let doc_area = if doc_width_available > 30 {
442 let mut doc_width = doc_width_available;
443 let mut doc_width = doc_width_available;
443− let mut doc_height = area.height.saturating_sub(popup_y);
444+ let mut doc_height = area.height.saturating_sub(popup_area.top());
444− let x = popup_x + popup_width;
445+ let x = popup_area.right();
445− let y = popup_y;
446+ let y = popup_area.top();
447 if let Some((rel_width, rel_height)) =
448 if let Some((rel_width, rel_height)) =
448 markdown_doc.required_size((doc_width, doc_height))
449 markdown_doc.required_size((doc_width, doc_height))