# HG changeset patch # User Bram Moolenaar # Date 1341933296 -7200 # Node ID f0747581607924c30530687fa88ebaa57602eb5f # Parent 8754a9491fc27ec6a87b281432eb34b46dc28610 updated for version 7.3.598 Problem: Cannot act upon end of completion. (Taro Muraoka) Solution: Add an autocommand event that is triggered when completion has finished. (Idea by Florian Klein) diff --git a/src/edit.c b/src/edit.c --- a/src/edit.c +++ b/src/edit.c @@ -3824,6 +3824,11 @@ ins_compl_prep(c) if (want_cindent && in_cinkeys(KEY_COMPLETE, ' ', inindent(0))) do_c_expr_indent(); #endif +#ifdef FEAT_AUTOCMD + /* Trigger the CompleteDone event to give scripts a chance to act + * upon the completion. */ + apply_autocmds(EVENT_COMPLETEDONE, NULL, NULL, FALSE, curbuf); +#endif } } diff --git a/src/fileio.c b/src/fileio.c --- a/src/fileio.c +++ b/src/fileio.c @@ -7643,6 +7643,7 @@ static struct event_name {"CmdwinEnter", EVENT_CMDWINENTER}, {"CmdwinLeave", EVENT_CMDWINLEAVE}, {"ColorScheme", EVENT_COLORSCHEME}, + {"CompleteDone", EVENT_COMPLETEDONE}, {"CursorHold", EVENT_CURSORHOLD}, {"CursorHoldI", EVENT_CURSORHOLDI}, {"CursorMoved", EVENT_CURSORMOVED}, diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -715,6 +715,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 598, +/**/ 597, /**/ 596, diff --git a/src/vim.h b/src/vim.h --- a/src/vim.h +++ b/src/vim.h @@ -1241,6 +1241,7 @@ enum auto_event EVENT_CMDWINENTER, /* after entering the cmdline window */ EVENT_CMDWINLEAVE, /* before leaving the cmdline window */ EVENT_COLORSCHEME, /* after loading a colorscheme */ + EVENT_COMPLETEDONE, /* after finishing insert complete */ EVENT_FILEAPPENDPOST, /* after appending to a file */ EVENT_FILEAPPENDPRE, /* before appending to a file */ EVENT_FILEAPPENDCMD, /* append to a file using command */