diff src/beval.c @ 12883:058e93aee621 v8.0.1318

patch 8.0.1318: terminal balloon only shows one line commit https://github.com/vim/vim/commit/246fe03d154c09070d5b7365b7f61716c4e0ddd4 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Nov 19 19:56:27 2017 +0100 patch 8.0.1318: terminal balloon only shows one line Problem: Terminal balloon only shows one line. Solution: Split into several lines in a clever way. Add balloon_split(). Make balloon_show() accept a list in the terminal.
author Christian Brabandt <cb@256bit.org>
date Sun, 19 Nov 2017 20:00:06 +0100
parents 1a450ce6980c
children d52a3969ce4f
line wrap: on
line diff
--- a/src/beval.c
+++ b/src/beval.c
@@ -134,19 +134,20 @@ get_beval_info(
 }
 
 /*
- * Show a balloon with "mesg".
+ * Show a balloon with "mesg" or "list".
  */
     void
-post_balloon(BalloonEval *beval UNUSED, char_u *mesg)
+post_balloon(BalloonEval *beval UNUSED, char_u *mesg, list_T *list)
 {
 # ifdef FEAT_BEVAL_TERM
 #  ifdef FEAT_GUI
     if (!gui.in_use)
 #  endif
-	ui_post_balloon(mesg);
+	ui_post_balloon(mesg, list);
 # endif
 # ifdef FEAT_BEVAL_GUI
     if (gui.in_use)
+	/* GUI can't handle a list */
 	gui_mch_post_balloon(beval, mesg);
 # endif
 }
@@ -257,7 +258,7 @@ general_beval_cb(BalloonEval *beval, int
 	    set_vim_var_string(VV_BEVAL_TEXT, NULL, -1);
 	    if (result != NULL && result[0] != NUL)
 	    {
-		post_balloon(beval, result);
+		post_balloon(beval, result, NULL);
 		recursive = FALSE;
 		return;
 	    }