mirror of
https://github.com/neovim/neovim.git
synced 2025-10-17 15:21:47 +00:00
API: make nvim_win_set_option() set window-global, not buffer-local #9110
NB: the `!(flags & SOPT_GLOBAL)` exception is for 'statusline'. Because `:set statusline=...` sets the global value for _all_ windows, `:setlocal` is the best we can do there. This is a one-of-a-kind option that doesn't work like any other option.
This commit is contained in:

committed by
Justin M. Keyes

parent
b10d703213
commit
fb19aeeb33
@@ -212,10 +212,18 @@ describe('API/win', function()
|
||||
it('works', function()
|
||||
curwin('set_option', 'colorcolumn', '4,3')
|
||||
eq('4,3', curwin('get_option', 'colorcolumn'))
|
||||
command("set modified hidden")
|
||||
command("enew") -- edit new buffer, window option is preserved
|
||||
eq('4,3', curwin('get_option', 'colorcolumn'))
|
||||
|
||||
-- global-local option
|
||||
curwin('set_option', 'statusline', 'window-status')
|
||||
eq('window-status', curwin('get_option', 'statusline'))
|
||||
eq('', nvim('get_option', 'statusline'))
|
||||
command("set modified")
|
||||
command("enew") -- global-local: not preserved in new buffer
|
||||
eq({false, "Failed to get value for option 'statusline'"}, meth_pcall(curwin, 'get_option', 'statusline'))
|
||||
eq('', eval('&l:statusline')) -- confirm local value was not copied
|
||||
end)
|
||||
end)
|
||||
|
||||
|
Reference in New Issue
Block a user