diff options
author | Shougo Matsushita <Shougo.Matsu@gmail.com> | 2016-10-04 23:03:27 +0900 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2016-10-19 02:22:55 +0200 |
commit | 9d4fcec7c6b65ef04fd4416b014e96f33b1f708a (patch) | |
tree | 066d21072bb9a3ce932fd74bffe294f042bf4b0d /src/nvim/fold.c | |
parent | 6a6f188d2ac457266c47732bf19ef8c60e79959b (diff) | |
download | rneovim-9d4fcec7c6b65ef04fd4416b014e96f33b1f708a.tar.gz rneovim-9d4fcec7c6b65ef04fd4416b014e96f33b1f708a.tar.bz2 rneovim-9d4fcec7c6b65ef04fd4416b014e96f33b1f708a.zip |
folds: Do not auto-update folds for some foldmethods. #5426
Diffstat (limited to 'src/nvim/fold.c')
-rw-r--r-- | src/nvim/fold.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/nvim/fold.c b/src/nvim/fold.c index 70030b8525..c84d738cb4 100644 --- a/src/nvim/fold.c +++ b/src/nvim/fold.c @@ -788,6 +788,19 @@ void foldUpdate(win_T *wp, linenr_T top, linenr_T bot) } } +/// Updates folds when leaving insert-mode. +void foldUpdateAfterInsert(void) +{ + if (foldmethodIsManual(curwin) // foldmethod=manual: No need to update. + // These foldmethods are too slow, do not auto-update on insert-leave. + || foldmethodIsSyntax(curwin) || foldmethodIsExpr(curwin)) { + return; + } + + foldUpdateAll(curwin); + foldOpenCursor(); +} + /* foldUpdateAll() {{{2 */ /* * Update all lines in a window for folding. |