refactor!: delete insertmode (#18547)

Neovim already removed `evim` (or any similar flags). The 'insertmode'
option is a weird remnant, so get rid of it.

The 'insertmode' option is replaced with a script that closely emulates
the option. This script is documented at :help 'insertmode'
This commit is contained in:
Gregory Anders
2022-05-22 21:20:18 -06:00
committed by GitHub
parent a7e0a02031
commit 9e1ee9fb1d
29 changed files with 62 additions and 270 deletions

View File

@@ -6,8 +6,6 @@ local expect = helpers.expect
local command = helpers.command
local eq = helpers.eq
local eval = helpers.eval
local meths = helpers.meths
local poke_eventloop = helpers.poke_eventloop
describe('insert-mode', function()
before_each(function()
@@ -135,26 +133,4 @@ describe('insert-mode', function()
feed('i<C-S-V><C-J><C-S-V><C-@><C-S-V><C-[><C-S-V><C-S-M><C-S-V><M-C-I><C-S-V><C-D-J><Esc>')
expect('<C-J><C-@><C-[><C-S-M><M-C-I><C-D-J>')
end)
describe([[With 'insertmode', Insert mode is not re-entered immediately after <C-L>]], function()
before_each(function()
command('set insertmode')
poke_eventloop()
eq({mode = 'i', blocking = false}, meths.get_mode())
end)
it('after calling :edit from <Cmd> mapping', function()
command('inoremap <C-B> <Cmd>edit Xfoo<CR>')
feed('<C-B><C-L>')
poke_eventloop()
eq({mode = 'n', blocking = false}, meths.get_mode())
end)
it('after calling :edit from RPC #16823', function()
command('edit Xfoo')
feed('<C-L>')
poke_eventloop()
eq({mode = 'n', blocking = false}, meths.get_mode())
end)
end)
end)

View File

@@ -1,25 +0,0 @@
-- Test for edit functions
-- See also: src/nvim/testdir/test_edit.vim
local helpers = require('test.functional.helpers')(after_each)
local source = helpers.source
local eq, eval = helpers.eq, helpers.eval
local funcs = helpers.funcs
local clear = helpers.clear
describe('edit', function()
before_each(clear)
it('reset insertmode from i_ctrl-r_=', function()
source([=[
call setline(1, ['abc'])
call cursor(1, 4)
call feedkeys(":set im\<cr>ZZZ\<c-r>=setbufvar(1,'&im', 0)\<cr>",'tnix')
]=])
eq({'abZZZc'}, funcs.getline(1,'$'))
eq({0, 1, 1, 0}, funcs.getpos('.'))
eq(0, eval('&im'))
end)
end)