1
0
forked from aniani/vim

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.
This commit is contained in:
Bram Moolenaar
2017-11-19 19:56:27 +01:00
parent e518226713
commit 246fe03d15
9 changed files with 263 additions and 26 deletions

View File

@@ -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 state UNUSED)
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;
}