diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2020-01-18 16:12:16 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-18 16:12:16 -0800 |
commit | fb8b0503baf95ccd9ab4a30220dd08ca8b16736b (patch) | |
tree | 8106670804b58724a15c64da4473b78393528601 /src/nvim/edit.c | |
parent | fd89ad7bfb1534c42c99b36ca025ea42ccbee7e1 (diff) | |
parent | ad35cbca76222deb33357b63a61a29945ef084f7 (diff) | |
download | rneovim-fb8b0503baf95ccd9ab4a30220dd08ca8b16736b.tar.gz rneovim-fb8b0503baf95ccd9ab4a30220dd08ca8b16736b.tar.bz2 rneovim-fb8b0503baf95ccd9ab4a30220dd08ca8b16736b.zip |
Merge #11707 from janlazo/vim-8.1.1434
vim-patch:8.1.{716,1139},8.2.{112,120,123}
Diffstat (limited to 'src/nvim/edit.c')
-rw-r--r-- | src/nvim/edit.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c index cdb4b127da..0c183add16 100644 --- a/src/nvim/edit.c +++ b/src/nvim/edit.c @@ -3385,6 +3385,7 @@ static bool ins_compl_prep(int c) { char_u *ptr; bool retval = false; + const int prev_mode = ctrl_x_mode; /* Forget any previous 'special' messages if this is actually * a ^X mode key - bar ^R, in which case we wait to see what it gives us. @@ -3593,6 +3594,18 @@ static bool ins_compl_prep(int c) auto_format(FALSE, TRUE); + { + const int new_mode = ctrl_x_mode; + + // Trigger the CompleteDone event to give scripts a chance to + // act upon the completion. Do this before clearing the info, + // and restore ctrl_x_mode, so that complete_info() can be + // used. + ctrl_x_mode = prev_mode; + ins_apply_autocmds(EVENT_COMPLETEDONE); + ctrl_x_mode = new_mode; + } + ins_compl_free(); compl_started = false; compl_matches = 0; @@ -3617,9 +3630,6 @@ static bool ins_compl_prep(int c) */ if (want_cindent && in_cinkeys(KEY_COMPLETE, ' ', inindent(0))) do_c_expr_indent(); - /* Trigger the CompleteDone event to give scripts a chance to act - * upon the completion. */ - ins_apply_autocmds(EVENT_COMPLETEDONE); } } else if (ctrl_x_mode == CTRL_X_LOCAL_MSG) /* Trigger the CompleteDone event to give scripts a chance to act @@ -3747,6 +3757,8 @@ expand_by_function( case VAR_DICT: matchdict = rettv.vval.v_dict; break; + case VAR_SPECIAL: + FALLTHROUGH; default: // TODO(brammool): Give error message? tv_clear(&rettv); @@ -5210,7 +5222,7 @@ static int ins_complete(int c, bool enable_pum) } } - /* Show a message about what (completion) mode we're in. */ + // Show a message about what (completion) mode we're in. showmode(); if (!shortmess(SHM_COMPLETIONMENU)) { if (edit_submode_extra != NULL) { |