Mercurial > vim
diff src/edit.c @ 25790:16a7d1154be8 v8.2.3430
patch 8.2.3430: no generic way to trigger an autocommand on mode change
Commit: https://github.com/vim/vim/commit/f1e8876fa2359b572d262772747405d3616db670
Author: =?UTF-8?q?Magnus=20Gro=C3=9F?= <magnus.gross@rwth-aachen.de>
Date: Sun Sep 12 13:39:55 2021 +0200
patch 8.2.3430: no generic way to trigger an autocommand on mode change
Problem: No generic way to trigger an autocommand on mode change.
Solution: Add the ModeChanged autocommand event. (Magnus Gross, closes https://github.com/vim/vim/issues/8856)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 12 Sep 2021 13:45:05 +0200 |
parents | 0082503ff2ff |
children | 37bc83bbda91 |
line wrap: on
line diff
--- a/src/edit.c +++ b/src/edit.c @@ -284,6 +284,7 @@ edit( else State = INSERT; + trigger_modechanged(); stop_insert_mode = FALSE; #ifdef FEAT_CONCEAL @@ -3681,6 +3682,7 @@ ins_esc( #endif State = NORMAL; + trigger_modechanged(); // need to position cursor again (e.g. when on a TAB ) changed_cline_bef_curs(); @@ -3811,6 +3813,7 @@ ins_insert(int replaceState) State = INSERT | (State & LANGMAP); else State = replaceState | (State & LANGMAP); + trigger_modechanged(); AppendCharToRedobuff(K_INS); showmode(); #ifdef CURSOR_SHAPE