aboutsummaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorluukvbaal <31730729+luukvbaal@users.noreply.github.com>2023-01-20 00:47:02 +0100
committerGitHub <noreply@github.com>2023-01-20 07:47:02 +0800
commit999bb983f0f44b16126b79ba105f079ac1df21ff (patch)
treeca1887947642836796f07d1f6f662098d49dd042 /runtime
parent775e2922908ceae221b35d3edc5e28e89f6b9647 (diff)
downloadrneovim-999bb983f0f44b16126b79ba105f079ac1df21ff.tar.gz
rneovim-999bb983f0f44b16126b79ba105f079ac1df21ff.tar.bz2
rneovim-999bb983f0f44b16126b79ba105f079ac1df21ff.zip
perf(statuscolumn): only fill click defs array once per redraw (#21884)
Problem: 'statuscolumn' click definitions are cleared, evaluated, allocated and filled each redraw for every row in a window. This despite the fact that we only store a single click definition array for the entire column as opposed to one for each row. Solution: Only fill the 'statuscolumn' click definition array once per window per redraw. Resolve https://github.com/neovim/neovim/issues/21767.
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/options.txt5
1 files changed, 5 insertions, 0 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 169ec95b03..0c078b7bba 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -6027,6 +6027,11 @@ A jump table for the options with a short description can be found at |Q_op|.
when drawing the actual buffer line, and positive when
drawing the wrapped part of a buffer line.
+ NOTE: The %@ click execute function item is supported as well but the
+ specified function will be the same for each row in the same column.
+ It cannot be switched out through a dynamic 'statuscolumn' format, the
+ handler should be written with this in mind.
+
Examples: >vim
" Relative number with bar separator and click handlers:
:set statuscolumn=%@SignCb@%s%=%T%@NumCb@%r│%T