@@ -389,12 +389,18 @@ impl Prompt {
389 if let Some(doc) = (self.doc_fn)(&self.line) {
389 if let Some(doc) = (self.doc_fn)(&self.line) {
390 let mut text = ui::Text::new(doc.to_string());
390 let mut text = ui::Text::new(doc.to_string());
392+ let max_width = BASE_WIDTH * 3;
392 let viewport = area;
395 let viewport = area;
397+ let (_width, height) = ui::text::required_size(&text.contents, max_width);
393 let area = viewport.intersection(Rect::new(
399 let area = viewport.intersection(Rect::new(
394 completion_area.x,
400 completion_area.x,
395− completion_area.y.saturating_sub(3),
401+ completion_area.y.saturating_sub(height + padding * 2),
396− BASE_WIDTH * 3,
402+ max_width,
397− 3,
403+ height + padding * 2,
400 let background = theme.get("ui.help");
406 let background = theme.get("ui.help");
@@ -402,8 +408,8 @@ impl Prompt {
403 text.render(
409 text.render(
404 area.inner(&Margin {
410 area.inner(&Margin {
405− vertical: 1,
411+ vertical: padding,
406− horizontal: 1,
412+ horizontal: padding,