vim-patch:8.0.0218 (#7529)

Problem:    No command line completion for :cexpr, :cgetexpr, :caddexpr, etc.
Solution:   Make completion work. (Yegappan Lakshmanan)  Add a test.

2b2207ba69
This commit is contained in:
KunMing Xie 2017-11-11 06:35:55 +08:00 committed by Justin M. Keyes
parent f5d4da0144
commit faa15c5b83
3 changed files with 35 additions and 1 deletions

View File

@ -3272,6 +3272,12 @@ const char * set_one_cmd_context(
case CMD_echoerr:
case CMD_call:
case CMD_return:
case CMD_cexpr:
case CMD_caddexpr:
case CMD_cgetexpr:
case CMD_lexpr:
case CMD_laddexpr:
case CMD_lgetexpr:
set_context_for_expression(xp, (char_u *)arg, ea.cmdidx);
break;

View File

@ -25,6 +25,34 @@ func Test_complete_wildmenu()
set nowildmenu
endfunc
func Test_expr_completion()
if !(has('cmdline_compl') && has('eval'))
return
endif
for cmd in [
\ 'let a = ',
\ 'if',
\ 'elseif',
\ 'while',
\ 'for',
\ 'echo',
\ 'echon',
\ 'execute',
\ 'echomsg',
\ 'echoerr',
\ 'call',
\ 'return',
\ 'cexpr',
\ 'caddexpr',
\ 'cgetexpr',
\ 'lexpr',
\ 'laddexpr',
\ 'lgetexpr']
call feedkeys(":" . cmd . " getl\<Tab>\<Home>\"\<CR>", 'xt')
call assert_equal('"' . cmd . ' getline(', getreg(':'))
endfor
endfunc
func Test_getcompletion()
if !has('cmdline_compl')
return

View File

@ -886,7 +886,7 @@ static const int included_patches[] = {
// 221 NA
// 220,
219,
// 218,
218,
// 217 NA
// 216,
// 215,