diff options
author | bfredl <bjorn.linse@gmail.com> | 2022-04-05 21:23:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-05 21:23:27 +0200 |
commit | f86f74c12ff53155818c25a50f6a2f27b8dfae49 (patch) | |
tree | ee7bf41f97e2b871c591b9be532eda760531f35f /src | |
parent | 402a71ff87baf6f68d9dae6f5faa2b49f2d9045f (diff) | |
parent | 54cec455ccdae2a63144809f947dad5cf510b7c7 (diff) | |
download | rneovim-f86f74c12ff53155818c25a50f6a2f27b8dfae49.tar.gz rneovim-f86f74c12ff53155818c25a50f6a2f27b8dfae49.tar.bz2 rneovim-f86f74c12ff53155818c25a50f6a2f27b8dfae49.zip |
Merge pull request #18003 from bfredl/incperf2
fix(ui): inccomand performance degradation
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/ex_cmds.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index 65cb544efd..5d5b342c35 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -4313,18 +4313,22 @@ skip: #define PUSH_PREVIEW_LINES() \ do { \ - linenr_T match_lines = current_match.end.lnum \ - - current_match.start.lnum +1; \ - if (preview_lines.subresults.size > 0) { \ - linenr_T last = kv_last(preview_lines.subresults).end.lnum; \ - if (last == current_match.start.lnum) { \ - preview_lines.lines_needed += match_lines - 1; \ + if (preview) { \ + linenr_T match_lines = current_match.end.lnum \ + - current_match.start.lnum +1; \ + if (preview_lines.subresults.size > 0) { \ + linenr_T last = kv_last(preview_lines.subresults).end.lnum; \ + if (last == current_match.start.lnum) { \ + preview_lines.lines_needed += match_lines - 1; \ + } else { \ + preview_lines.lines_needed += match_lines; \ + } \ + } else { \ + preview_lines.lines_needed += match_lines; \ } \ - } else { \ - preview_lines.lines_needed += match_lines; \ + kv_push(preview_lines.subresults, current_match); \ } \ - kv_push(preview_lines.subresults, current_match); \ - } while (0) + } while (0) // Push the match to preview_lines. PUSH_PREVIEW_LINES(); |