diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/nvim/ex_docmd.c | 16 | ||||
| -rw-r--r-- | src/nvim/ex_getln.c | 1 | ||||
| -rw-r--r-- | src/nvim/testdir/test_cmdline.vim | 5 | ||||
| -rw-r--r-- | src/nvim/version.c | 2 | ||||
| -rw-r--r-- | src/nvim/vim.h | 1 | 
5 files changed, 24 insertions, 1 deletions
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index 61c35a494b..d7821fc636 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -3438,6 +3438,11 @@ const char * set_one_cmd_context(      xp->xp_pattern = (char_u *)arg;      break; +  case CMD_messages: +    xp->xp_context = EXPAND_MESSAGES; +    xp->xp_pattern = (char_u *)arg; +    break; +    case CMD_history:      xp->xp_context = EXPAND_HISTORY;      xp->xp_pattern = (char_u *)arg; @@ -4872,6 +4877,7 @@ static struct {  #endif    { EXPAND_MAPPINGS, "mapping" },    { EXPAND_MENUS, "menu" }, +  { EXPAND_MESSAGES, "messages" },    { EXPAND_OWNSYNTAX, "syntax" },    { EXPAND_SYNTIME, "syntime" },    { EXPAND_SETTINGS, "option" }, @@ -9593,6 +9599,16 @@ char_u *get_behave_arg(expand_T *xp, int idx)    return NULL;  } +// Function given to ExpandGeneric() to obtain the possible arguments of the +// ":messages {clear}" command. +char_u *get_messages_arg(expand_T *xp FUNC_ATTR_UNUSED, int idx) +{ +  if (idx == 0) { +    return (char_u *)"clear"; +  } +  return NULL; +} +  static TriState filetype_detect = kNone;  static TriState filetype_plugin = kNone;  static TriState filetype_indent = kNone; diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c index 0ba6c79a71..1d81a39dfe 100644 --- a/src/nvim/ex_getln.c +++ b/src/nvim/ex_getln.c @@ -4050,6 +4050,7 @@ ExpandFromContext (      } tab[] = {        { EXPAND_COMMANDS, get_command_name, false, true },        { EXPAND_BEHAVE, get_behave_arg, true, true }, +      { EXPAND_MESSAGES, get_messages_arg, true, true },        { EXPAND_HISTORY, get_history_arg, true, true },        { EXPAND_USER_COMMANDS, get_user_commands, false, true },        { EXPAND_USER_ADDR_TYPE, get_user_cmd_addr_type, false, true }, diff --git a/src/nvim/testdir/test_cmdline.vim b/src/nvim/testdir/test_cmdline.vim index 0c9d1297d6..f7a6aba6e7 100644 --- a/src/nvim/testdir/test_cmdline.vim +++ b/src/nvim/testdir/test_cmdline.vim @@ -130,6 +130,11 @@ func Test_getcompletion()    let l = getcompletion('dark', 'highlight')    call assert_equal([], l) +  let l = getcompletion('', 'messages') +  call assert_true(index(l, 'clear') >= 0) +  let l = getcompletion('not', 'messages') +  call assert_equal([], l) +    if has('cscope')      let l = getcompletion('', 'cscope')      let cmds = ['add', 'find', 'help', 'kill', 'reset', 'show'] diff --git a/src/nvim/version.c b/src/nvim/version.c index 34171a1bd3..d07a1c2d68 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -695,7 +695,7 @@ static const int included_patches[] = {    37,    // 36 NA    35, -  // 34, +  34,    33,    32,    31, diff --git a/src/nvim/vim.h b/src/nvim/vim.h index c71ca411ea..62ffc7433e 100644 --- a/src/nvim/vim.h +++ b/src/nvim/vim.h @@ -163,6 +163,7 @@ enum {    EXPAND_SYNTIME,    EXPAND_USER_ADDR_TYPE,    EXPAND_PACKADD, +  EXPAND_MESSAGES,  };  | 
