commit 796df966f3cb83698035b85522504d40e7b5ab0b
parent eb8a3e0575d36ebfee1e401db0a064763cf684cd
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sun, 18 Feb 2024 18:11:20 +0800
fix(options): don't update curswant for 'winhl' or 'winbl' (#27515)
Diffstat:
2 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/src/nvim/options.lua b/src/nvim/options.lua
@@ -9785,7 +9785,7 @@ return {
UI-dependent. Works best with RGB colors. 'termguicolors'
]=],
full_name = 'winblend',
- redraw = { 'current_window' },
+ redraw = { 'current_window', 'highlight_only' },
scope = { 'window' },
short_desc = N_('Controls transparency level for floating windows'),
type = 'number',
@@ -9900,7 +9900,7 @@ return {
expand_cb = 'expand_set_winhighlight',
full_name = 'winhighlight',
list = 'onecommacolon',
- redraw = { 'current_window' },
+ redraw = { 'current_window', 'highlight_only' },
scope = { 'window' },
short_desc = N_('Setup window-local highlights'),
type = 'string',
diff --git a/test/functional/editor/mode_normal_spec.lua b/test/functional/editor/mode_normal_spec.lua
@@ -0,0 +1,22 @@
+-- Normal mode tests.
+
+local helpers = require('test.functional.helpers')(after_each)
+local clear = helpers.clear
+local feed = helpers.feed
+local fn = helpers.fn
+local command = helpers.command
+local eq = helpers.eq
+
+describe('Normal mode', function()
+ before_each(clear)
+
+ it('setting &winhighlight or &winblend does not change curswant #27470', function()
+ fn.setline(1, { 'long long lone line', 'short line' })
+ feed('ggfi')
+ local pos = fn.getcurpos()
+ feed('j')
+ command('setlocal winblend=10 winhighlight=Visual:Search')
+ feed('k')
+ eq(pos, fn.getcurpos())
+ end)
+end)