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

@ -127,9 +127,11 @@ func s:StartDebug(cmd)
call win_gotoid(s:gdbwin)
" Enable showing a balloon with eval info
if has("balloon_eval")
set ballooneval
if has("balloon_eval") || has("balloon_eval_term")
set balloonexpr=TermDebugBalloonExpr()
if has("balloon_eval")
set ballooneval
endif
if has("balloon_eval_term")
set balloonevalterm
endif
@ -158,9 +160,11 @@ func s:EndDebug(job, status)
let &columns = s:save_columns
endif
if has("balloon_eval")
set noballooneval
if has("balloon_eval") || has("balloon_eval_term")
set balloonexpr=
if has("balloon_eval")
set noballooneval
endif
if has("balloon_eval_term")
set noballoonevalterm
endif
@ -366,6 +370,7 @@ func s:HandleError(msg)
if a:msg =~ 'No symbol .* in current context'
\ || a:msg =~ 'Cannot access memory at address '
\ || a:msg =~ 'Attempt to use a type name as an expression'
\ || a:msg =~ 'A syntax error in expression,'
" Result of s:SendEval() failed, ignore.
return
endif