mirror of
https://github.com/neovim/neovim.git
synced 2026-08-29 10:31:48 +00:00
vim-patch:7.4.569/573
vim-patch:7.4.569 vim-patch:7.4.573 Helped-by: @glts https://github.com/neovim/neovim/pull/2621 Problem: Having CTRL-C interrupt or not does not check the mode of the mapping. (Ingo Karkat) Solution: Use a bitmask with the map mode. (Christian Brabandt)651863c94aProblem: Mapping CTRL-C in Visual mode doesn't work. (Ingo Karkat) Solution: Call get_real_state() instead of using State directly.5000869712
This commit is contained in:
committed by
Justin M. Keyes
parent
420fe1fe73
commit
3dfbeabf35
@@ -2,12 +2,12 @@
|
||||
|
||||
local helpers = require('test.functional.helpers')
|
||||
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
|
||||
local execute, expect = helpers.execute, helpers.expect
|
||||
local execute, expect, wait = helpers.execute, helpers.expect, helpers.wait
|
||||
|
||||
describe('mapping', function()
|
||||
before_each(clear)
|
||||
|
||||
it('is working', function()
|
||||
it('abbreviations with р (0x80)', function()
|
||||
insert([[
|
||||
test starts here:
|
||||
]])
|
||||
@@ -16,6 +16,49 @@ describe('mapping', function()
|
||||
execute('inoreab чкпр vim')
|
||||
feed('GAчкпр <esc>')
|
||||
|
||||
expect([[
|
||||
test starts here:
|
||||
vim ]])
|
||||
end)
|
||||
|
||||
it('works with Ctrl-c in Insert mode', function()
|
||||
-- Mapping of ctrl-c in insert mode
|
||||
execute('set cpo-=< cpo-=k')
|
||||
execute('inoremap <c-c> <ctrl-c>')
|
||||
execute('cnoremap <c-c> dummy')
|
||||
execute('cunmap <c-c>')
|
||||
feed('GA<cr>')
|
||||
feed('TEST2: CTRL-C |')
|
||||
wait()
|
||||
feed('<c-c>A|<cr><esc>')
|
||||
wait()
|
||||
execute('unmap <c-c>')
|
||||
execute('unmap! <c-c>')
|
||||
|
||||
expect([[
|
||||
|
||||
TEST2: CTRL-C |<ctrl-c>A|
|
||||
]])
|
||||
end)
|
||||
|
||||
it('works with Ctrl-c in Visual mode', function()
|
||||
-- Mapping of ctrl-c in Visual mode.
|
||||
execute([[vnoremap <c-c> :<C-u>$put ='vmap works']])
|
||||
feed('GV')
|
||||
-- For some reason the mapping is only triggered when <C-c> is entered in a
|
||||
-- separate feed command.
|
||||
wait()
|
||||
feed('<c-c>')
|
||||
wait()
|
||||
feed('<cr>')
|
||||
execute('vunmap <c-c>')
|
||||
|
||||
expect([[
|
||||
|
||||
vmap works]])
|
||||
end)
|
||||
|
||||
it('works with Ctrl-c in Insert mode with langmap', function()
|
||||
-- langmap should not get remapped in insert mode.
|
||||
execute('inoremap { FAIL_ilangmap')
|
||||
execute('set langmap=+{ langnoremap')
|
||||
@@ -37,8 +80,7 @@ describe('mapping', function()
|
||||
|
||||
-- Assert buffer contents.
|
||||
expect([[
|
||||
test starts here:
|
||||
vim
|
||||
|
||||
+
|
||||
+
|
||||
+
|
||||
|
||||
Reference in New Issue
Block a user