diff options
author | Famiu Haque <famiuhaque@protonmail.com> | 2022-04-11 22:20:24 +0600 |
---|---|---|
committer | Famiu Haque <famiuhaque@protonmail.com> | 2022-04-17 19:24:59 +0600 |
commit | b16afe4d556af7c3e86b311cfffd1c68a5eed71f (patch) | |
tree | 7a7ad533686d93535238adad0c931259a51aa6cc /src/nvim/move.c | |
parent | 3f2e9298bdd971a4d2baa298aff7c6f2c2c1ad1a (diff) | |
download | rneovim-b16afe4d556af7c3e86b311cfffd1c68a5eed71f.tar.gz rneovim-b16afe4d556af7c3e86b311cfffd1c68a5eed71f.tar.bz2 rneovim-b16afe4d556af7c3e86b311cfffd1c68a5eed71f.zip |
feat(highlight): implement CurSearch highlight
Adds a `CurSearch` highlight group to highlight the current search result under the cursor.
Diffstat (limited to 'src/nvim/move.c')
-rw-r--r-- | src/nvim/move.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/nvim/move.c b/src/nvim/move.c index eda3298101..c55a9a296b 100644 --- a/src/nvim/move.c +++ b/src/nvim/move.c @@ -95,27 +95,31 @@ static void comp_botline(win_T *wp) win_check_anchored_floats(wp); } -/// Redraw when w_cline_row changes and 'relativenumber' or 'cursorline' is set. +/// Redraw when w_cline_row changes and 'relativenumber' or 'cursorline' is set +/// or if the 'CurSearch' highlight is defined. /// Also when concealing is on and 'concealcursor' is not active. void redraw_for_cursorline(win_T *wp) FUNC_ATTR_NONNULL_ALL { if ((wp->w_valid & VALID_CROW) == 0 && !pum_visible() - && (wp->w_p_rnu || win_cursorline_standout(wp))) { - // win_line() will redraw the number column and cursorline only. + && (wp->w_p_rnu || win_cursorline_standout(wp) + || HL_ATTR(HLF_LC) || wp->w_hl_ids[HLF_LC])) { + // win_line() will redraw the number column and cursorline only + // and also update the CurSearch highlight (if needed). redraw_later(wp, VALID); } } /// Redraw when w_virtcol changes and 'cursorcolumn' is set or 'cursorlineopt' -/// contains "screenline". +/// contains "screenline" or when the 'CurSearch' highlight is defined. /// Also when concealing is on and 'concealcursor' is active. static void redraw_for_cursorcolumn(win_T *wp) FUNC_ATTR_NONNULL_ALL { if ((wp->w_valid & VALID_VIRTCOL) == 0 && !pum_visible()) { - if (wp->w_p_cuc) { - // When 'cursorcolumn' is set need to redraw with SOME_VALID. + if (wp->w_p_cuc || HL_ATTR(HLF_LC) || wp->w_hl_ids[HLF_LC]) { + // When 'cursorcolumn' is set or 'CurSearch' is defined + // need to redraw with SOME_VALID. redraw_later(wp, SOME_VALID); } else if (wp->w_p_cul && (wp->w_p_culopt_flags & CULOPT_SCRLINE)) { // When 'cursorlineopt' contains "screenline" need to redraw with VALID. |