diff options
author | Brad King <brad.king@kitware.com> | 2020-04-06 16:08:48 -0400 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-06-23 09:20:17 -0400 |
commit | ae5651942edf748d0d8147caa7eabe5175f0bfe9 (patch) | |
tree | bab90ec45bb548b0c79f9f4f2f497664b2ac7449 /src/nvim/syntax.c | |
parent | 721f69c4af8bc81ba04088e7b56f8cdba653b418 (diff) | |
download | rneovim-ae5651942edf748d0d8147caa7eabe5175f0bfe9.tar.gz rneovim-ae5651942edf748d0d8147caa7eabe5175f0bfe9.tar.bz2 rneovim-ae5651942edf748d0d8147caa7eabe5175f0bfe9.zip |
syntax: factor out helper to compute the syntax-based foldlevel
Diffstat (limited to 'src/nvim/syntax.c')
-rw-r--r-- | src/nvim/syntax.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/nvim/syntax.c b/src/nvim/syntax.c index f3b05c3961..8999fc4b17 100644 --- a/src/nvim/syntax.c +++ b/src/nvim/syntax.c @@ -5763,6 +5763,17 @@ int syn_get_stack_item(int i) return CUR_STATE(i).si_id; } +static int syn_cur_foldlevel(void) +{ + int level = 0; + for (int i = 0; i < current_state.ga_len; i++) { + if (CUR_STATE(i).si_flags & HL_FOLD) { + level++; + } + } + return level; +} + /* * Function called to get folding level for line "lnum" in window "wp". */ @@ -5776,11 +5787,7 @@ int syn_get_foldlevel(win_T *wp, long lnum) && !wp->w_s->b_syn_slow) { syntax_start(wp, lnum); - for (int i = 0; i < current_state.ga_len; ++i) { - if (CUR_STATE(i).si_flags & HL_FOLD) { - ++level; - } - } + level = syn_cur_foldlevel(); } if (level > wp->w_p_fdn) { level = wp->w_p_fdn; |