diff src/popupwin.c @ 17584:65a8099fc0e8 v8.1.1789

patch 8.1.1789: cannot see file name of preview popup window commit https://github.com/vim/vim/commit/90f3e7ac56056ffad50bac9d4497b5830c37ab26 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Aug 1 22:40:44 2019 +0200 patch 8.1.1789: cannot see file name of preview popup window Problem: Cannot see file name of preview popup window. Solution: Add the file name as the title.
author Bram Moolenaar <Bram@vim.org>
date Thu, 01 Aug 2019 22:45:05 +0200
parents d5e5d0fc3fa8
children 506dd2efcbb2
line wrap: on
line diff
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -3198,4 +3198,41 @@ popup_close_preview()
     }
 }
 
+/*
+ * Set the title of the popup window to the file name.
+ */
+    void
+popup_set_title(win_T *wp)
+{
+    if (wp->w_buffer->b_fname != NULL)
+    {
+	char_u	dirname[MAXPATHL];
+	size_t	len;
+
+	mch_dirname(dirname, MAXPATHL);
+	shorten_buf_fname(wp->w_buffer, dirname, FALSE);
+
+	vim_free(wp->w_popup_title);
+	len = STRLEN(wp->w_buffer->b_fname) + 3;
+	wp->w_popup_title = alloc((int)len);
+	if (wp->w_popup_title != NULL)
+	    vim_snprintf((char *)wp->w_popup_title, len, " %s ",
+							wp->w_buffer->b_fname);
+	redraw_win_later(wp, VALID);
+    }
+}
+
+/*
+ * If there is a preview window, update the title.
+ * Used after changing directory.
+ */
+    void
+popup_update_preview_title(void)
+{
+    win_T *wp = popup_find_preview_window();
+
+    if (wp != NULL)
+	popup_set_title(wp);
+}
+
 #endif // FEAT_TEXT_PROP