mirror of
https://github.com/neovim/neovim.git
synced 2026-05-24 05:40:08 +00:00
Problem: When running nvim on a remote machine over SSH, if there is high ping, then bg detection may not complete in time. This results in a warning every time nvim is started. #38648 Solution: Restore 'ttyfast' option and allow it to control whether or not bg detection is performed. Because this is during startup and before any user config or commands, we use the environment variable `NVIM_NOTTYFAST` to allow disabling `ttyfast` during initialization.
103 lines
2.3 KiB
Lua
103 lines
2.3 KiB
Lua
local t = require('test.testutil')
|
|
local n = require('test.functional.testnvim')()
|
|
|
|
local command = n.command
|
|
local api = n.api
|
|
local fn = n.fn
|
|
local eval = n.eval
|
|
local feed = n.feed
|
|
local clear = n.clear
|
|
local eq = t.eq
|
|
local neq = t.neq
|
|
|
|
describe('optwin.lua', function()
|
|
before_each(clear)
|
|
|
|
it(':options shows options UI', function()
|
|
command 'options'
|
|
|
|
command '/^ 1'
|
|
local lnum = fn.line('.')
|
|
feed('<CR>')
|
|
neq(lnum, fn.line('.'))
|
|
|
|
n.add_builddir_to_rtp()
|
|
command '/^startofline'
|
|
local win = api.nvim_get_current_win()
|
|
feed('<CR>')
|
|
neq(win, api.nvim_get_current_win())
|
|
eq('help', eval('&filetype'))
|
|
api.nvim_win_close(0, true)
|
|
eq(win, api.nvim_get_current_win())
|
|
|
|
command '/^ \t'
|
|
local opt_value = eval('&startofline')
|
|
local line = api.nvim_get_current_line()
|
|
feed('<CR>')
|
|
neq(opt_value, eval('&startofline'))
|
|
neq(line, api.nvim_get_current_line())
|
|
|
|
command('set startofline!')
|
|
neq(line, api.nvim_get_current_line())
|
|
feed('<space>')
|
|
eq(line, api.nvim_get_current_line())
|
|
|
|
command 'wincmd j'
|
|
command 'wincmd k'
|
|
command '/^number'
|
|
command '/^ \t'
|
|
line = api.nvim_get_current_line()
|
|
feed('<CR>')
|
|
neq(line, api.nvim_get_current_line())
|
|
command 'wincmd o'
|
|
feed('<CR>')
|
|
neq(line, api.nvim_get_current_line())
|
|
end)
|
|
|
|
it(':options shows all options', function()
|
|
local ignore = {
|
|
-- These options are removed/unused/deprecated
|
|
'compatible',
|
|
'paste',
|
|
'highlight',
|
|
'terse',
|
|
'aleph',
|
|
'encoding',
|
|
'termencoding',
|
|
'maxcombine',
|
|
'secure',
|
|
'prompt',
|
|
'edcompatible',
|
|
'gdefault',
|
|
'guioptions',
|
|
'guitablabel',
|
|
'guitabtooltip',
|
|
'insertmode',
|
|
'magic',
|
|
'mouseshape',
|
|
'imcmdline',
|
|
'imdisable',
|
|
'pastetoggle',
|
|
'langnoremap',
|
|
'opendevice',
|
|
'remap',
|
|
'hkmap',
|
|
'hkmapp',
|
|
|
|
-- These options are read-only
|
|
'channel',
|
|
}
|
|
|
|
command 'options'
|
|
|
|
local options = ignore
|
|
for _, line in ipairs(api.nvim_buf_get_lines(0, 0, -1, true)) do
|
|
if line:match('^[a-z]') then
|
|
table.insert(options, line:match('^[a-z]+'))
|
|
end
|
|
end
|
|
|
|
eq(fn.sort(vim.tbl_keys(api.nvim_get_all_options_info())), fn.sort(options))
|
|
end)
|
|
end)
|