aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/options.lua
diff options
context:
space:
mode:
authorGregory Anders <8965202+gpanders@users.noreply.github.com>2023-11-14 08:53:58 -0600
committerGitHub <noreply@github.com>2023-11-14 08:53:58 -0600
commitac8ed77afb359694a716501d9e87b0c9949b2445 (patch)
treeb1345f64f8ecba162278325b750092ce405091ec /src/nvim/options.lua
parentb73a829837bbc05840ae00cbe514fb1786695614 (diff)
downloadrneovim-ac8ed77afb359694a716501d9e87b0c9949b2445.tar.gz
rneovim-ac8ed77afb359694a716501d9e87b0c9949b2445.tar.bz2
rneovim-ac8ed77afb359694a716501d9e87b0c9949b2445.zip
feat(tui): add 'termsync' option (#25871)
The 'termsync' option enables a mode (provided the underlying terminal supports it) where all screen updates during a redraw cycle are buffered and drawn together when the redraw is complete. This eliminates tearing or flickering in cases where Nvim redraws slower than the terminal redraws the screen.
Diffstat (limited to 'src/nvim/options.lua')
-rw-r--r--src/nvim/options.lua15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/nvim/options.lua b/src/nvim/options.lua
index 373dc3c460..9ca1396753 100644
--- a/src/nvim/options.lua
+++ b/src/nvim/options.lua
@@ -8810,6 +8810,21 @@ return {
varname = 'p_tpf',
},
{
+ defaults = { if_true = true },
+ desc = [=[
+ If the host terminal supports it, buffer all screen updates
+ made during a redraw cycle so that each screen is displayed in
+ the terminal all at once. This can prevent tearing or flickering
+ when the terminal updates faster than Nvim can redraw.
+ ]=],
+ full_name = 'termsync',
+ redraw = { 'ui_option' },
+ scope = { 'global' },
+ short_desc = N_('synchronize redraw output with the host terminal'),
+ type = 'bool',
+ varname = 'p_termsync',
+ },
+ {
defaults = { if_true = false },
full_name = 'terse',
scope = { 'global' },