mirror of
https://github.com/neovim/neovim.git
synced 2026-07-18 15:11:40 +00:00
fix(options): repair stale UI state after :set all& #39026
Problem: `set all&` resets option values directly and leaves UI-derived state stale for `guicursor`, `laststatus`, and `showtabline`. Solution: Repair some of the stale UI state in the bulk reset path by reparsing `guicursor`, refreshing statusline state, and recomputing tabline/window rows.
This commit is contained in:
@@ -378,6 +378,22 @@ describe('ui/cursor', function()
|
||||
end)
|
||||
end)
|
||||
|
||||
it("'set all&' reapplies 'guicursor'", function()
|
||||
command('set guicursor=n:ver25')
|
||||
screen:expect(function()
|
||||
eq('vertical', screen._mode_info[1].cursor_shape)
|
||||
eq(25, screen._mode_info[1].cell_percentage)
|
||||
end)
|
||||
|
||||
command('set all&')
|
||||
screen:expect(function()
|
||||
eq('block', screen._mode_info[1].cursor_shape)
|
||||
eq(0, screen._mode_info[1].blinkon)
|
||||
eq(0, screen._mode_info[1].blinkoff)
|
||||
eq(true, screen._cursor_style_enabled)
|
||||
end)
|
||||
end)
|
||||
|
||||
it(':sleep does not hide cursor when sleeping', function()
|
||||
n.feed(':sleep 300m | echo 42')
|
||||
screen:expect([[
|
||||
|
||||
Reference in New Issue
Block a user